PluginProbe
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / 4.7.4
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode v4.7.4
4.7.4 4.7.5 4.7.3 4.7.2 4.7.1 trunk 2.3.0 2.4.0 2.4.1 2.4.2 2.5.0 3.0.0 3.0.1 3.1.0 3.10.0 3.10.1 3.11.1 3.11.2 3.11.3 3.2.0 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 All 95 releases
cookiebot / tests / integration / abilities / Test_Toggle_Gcm_Ability.php

Test_Toggle_Gcm_Ability.php in Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode 4.7.4, at tests/integration/abilities/Test_Toggle_Gcm_Ability.php

78 lines 2.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Test_Toggle_Gcm_Ability class.
4 *
5 * @package cookiebot
6 * @subpackage tests
7 */
8
9 namespace cybot\cookiebot\tests\integration\abilities;
10
11 use cybot\cookiebot\abilities\Ability_Audit_Logger;
12 use cybot\cookiebot\abilities\Toggle_Gcm_Ability;
13 use WP_UnitTestCase;
14
15 /**
16 * Tests for Toggle_Gcm_Ability.
17 *
18 * @since 4.8.0
19 */
20 class Test_Toggle_Gcm_Ability extends WP_UnitTestCase {
21
22 /**
23 * @var Ability_Audit_Logger
24 */
25 private $logger;
26
27 public function set_up() {
28 parent::set_up();
29 $this->logger = new Ability_Audit_Logger();
30 delete_option( 'cookiebot-ai-action-log' );
31 }
32
33 public function test_get_name() {
34 $this->assertSame( 'cookiebot/toggle-gcm', ( new Toggle_Gcm_Ability( $this->logger ) )->get_name() );
35 }
36
37 public function test_enable_sets_option_to_1() {
38 update_option( 'cookiebot-gcm', '0' );
39 $args = ( new Toggle_Gcm_Ability( $this->logger ) )->get_args();
40 $result = call_user_func( $args['execute_callback'], array( 'enabled' => true ) );
41 $this->assertTrue( $result['success'] );
42 $this->assertSame( '1', get_option( 'cookiebot-gcm' ) );
43 }
44
45 public function test_disable_sets_option_to_0() {
46 update_option( 'cookiebot-gcm', '1' );
47 $args = ( new Toggle_Gcm_Ability( $this->logger ) )->get_args();
48 $result = call_user_func( $args['execute_callback'], array( 'enabled' => false ) );
49 $this->assertTrue( $result['success'] );
50 $this->assertSame( '0', get_option( 'cookiebot-gcm' ) );
51 }
52
53 public function test_old_and_new_values_are_booleans() {
54 update_option( 'cookiebot-gcm', '1' );
55 $args = ( new Toggle_Gcm_Ability( $this->logger ) )->get_args();
56 $result = call_user_func( $args['execute_callback'], array( 'enabled' => false ) );
57 $this->assertSame( true, $result['old_value'] );
58 $this->assertSame( false, $result['new_value'] );
59 }
60
61 public function test_writes_audit_log() {
62 update_option( 'cookiebot-gcm', '1' );
63 $args = ( new Toggle_Gcm_Ability( $this->logger ) )->get_args();
64 call_user_func( $args['execute_callback'], array( 'enabled' => false ) );
65 $log = get_option( 'cookiebot-ai-action-log', array() );
66 $this->assertCount( 1, $log );
67 $this->assertSame( 'cookiebot/toggle-gcm', $log[0]['ability'] );
68 }
69
70 public function test_idempotent_same_value_succeeds() {
71 update_option( 'cookiebot-gcm', '1' );
72 $args = ( new Toggle_Gcm_Ability( $this->logger ) )->get_args();
73 $result = call_user_func( $args['execute_callback'], array( 'enabled' => true ) );
74 $this->assertTrue( $result['success'] );
75 $this->assertSame( '1', get_option( 'cookiebot-gcm' ) );
76 }
77 }
78