-
Notifications
You must be signed in to change notification settings - Fork 22
/
Copy pathtest-newsletter-ads.php
55 lines (48 loc) · 1.56 KB
/
test-newsletter-ads.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
/**
* Test Newsletter Ads.
*
* @package Newspack_Newsletters
*/
/**
* Newsletters Ads Test.
*/
class Newsletters_Newsletter_Ads_Test extends WP_UnitTestCase {
/**
* Ad ID for testing.
*
* @var int
*/
private static $ad_id = 0;
/**
* Test creating ad.
*/
public function test_creating_ad() {
self::$ad_id = self::factory()->post->create(
[
'post_type' => Newspack_Newsletters_Ads::CPT,
'post_title' => 'A sample ad',
'post_content' => '<!-- wp:paragraph -->\n<p>Ad content.<\/p>\n<!-- \/wp:paragraph -->',
]
);
$this->assertNotEquals( 0, self::$ad_id );
}
/**
* Test active ad.
*/
public function test_is_active_ad() {
$this->assertTrue( Newspack_Newsletters_Ads::is_ad_active( self::$ad_id ) );
// Set start date to tomorrow.
update_post_meta( self::$ad_id, 'start_date', gmdate( 'Y-m-d', strtotime( '+1 day' ) ) );
$this->assertFalse( Newspack_Newsletters_Ads::is_ad_active( self::$ad_id ) );
// Set start date to yesterday.
update_post_meta( self::$ad_id, 'start_date', gmdate( 'Y-m-d', strtotime( '-1 day' ) ) );
$this->assertTrue( Newspack_Newsletters_Ads::is_ad_active( self::$ad_id ) );
// Set expiry date to yesterday.
update_post_meta( self::$ad_id, 'expiry_date', gmdate( 'Y-m-d', strtotime( '-1 day' ) ) );
$this->assertFalse( Newspack_Newsletters_Ads::is_ad_active( self::$ad_id ) );
// Set expiry date to tomorrow.
update_post_meta( self::$ad_id, 'expiry_date', gmdate( 'Y-m-d', strtotime( '+1 day' ) ) );
$this->assertTrue( Newspack_Newsletters_Ads::is_ad_active( self::$ad_id ) );
}
}