Test_Ability_Audit_Logger.php
2 months ago
Test_Cookiebot_Abilities_Registrar.php
2 months ago
Test_Get_Compliance_Summary_Ability.php
2 months ago
Test_Get_Status_Ability.php
2 months ago
Test_Install_Ppg_Ability.php
2 months ago
Test_Set_Cbid_Ability.php
2 months ago
Test_Toggle_Gcm_Ability.php
2 months ago
Test_Verify_Setup_Ability.php
2 months ago
Test_Ability_Audit_Logger.php
55 lines
| 1 | <?php |
| 2 | // tests/integration/abilities/Test_Ability_Audit_Logger.php |
| 3 | |
| 4 | namespace cybot\cookiebot\tests\integration\abilities; |
| 5 | |
| 6 | use cybot\cookiebot\abilities\Ability_Audit_Logger; |
| 7 | use WP_UnitTestCase; |
| 8 | |
| 9 | class Test_Ability_Audit_Logger extends WP_UnitTestCase { |
| 10 | |
| 11 | public function set_up() { |
| 12 | parent::set_up(); |
| 13 | delete_option( 'cookiebot-ai-action-log' ); |
| 14 | } |
| 15 | |
| 16 | public function test_log_creates_entry_with_correct_structure() { |
| 17 | $logger = new Ability_Audit_Logger(); |
| 18 | $logger->log( 'cookiebot/set-cbid', 'old', 'new' ); |
| 19 | $log = get_option( 'cookiebot-ai-action-log', array() ); |
| 20 | $this->assertCount( 1, $log ); |
| 21 | $this->assertSame( 'cookiebot/set-cbid', $log[0]['ability'] ); |
| 22 | $this->assertSame( 'old', $log[0]['old'] ); |
| 23 | $this->assertSame( 'new', $log[0]['new'] ); |
| 24 | $this->assertArrayHasKey( 'ts', $log[0] ); |
| 25 | $this->assertArrayHasKey( 'user_id', $log[0] ); |
| 26 | } |
| 27 | |
| 28 | public function test_log_prepends_newest_first() { |
| 29 | $logger = new Ability_Audit_Logger(); |
| 30 | $logger->log( 'cookiebot/set-cbid', 'a', 'b' ); |
| 31 | $logger->log( 'cookiebot/toggle-gcm', 'c', 'd' ); |
| 32 | $log = get_option( 'cookiebot-ai-action-log', array() ); |
| 33 | $this->assertSame( 'cookiebot/toggle-gcm', $log[0]['ability'] ); |
| 34 | $this->assertSame( 'cookiebot/set-cbid', $log[1]['ability'] ); |
| 35 | } |
| 36 | |
| 37 | public function test_log_caps_at_50_entries() { |
| 38 | $logger = new Ability_Audit_Logger(); |
| 39 | for ( $i = 0; $i < 55; $i++ ) { |
| 40 | $logger->log( 'cookiebot/set-cbid', 'old', 'new' ); |
| 41 | } |
| 42 | $log = get_option( 'cookiebot-ai-action-log', array() ); |
| 43 | $this->assertCount( 50, $log ); |
| 44 | } |
| 45 | |
| 46 | public function test_log_recovers_from_corrupted_option() { |
| 47 | update_option( 'cookiebot-ai-action-log', 'not-an-array' ); |
| 48 | $logger = new Ability_Audit_Logger(); |
| 49 | $logger->log( 'cookiebot/set-cbid', 'old', 'new' ); |
| 50 | $log = get_option( 'cookiebot-ai-action-log', array() ); |
| 51 | $this->assertCount( 1, $log ); |
| 52 | $this->assertSame( 'cookiebot/set-cbid', $log[0]['ability'] ); |
| 53 | } |
| 54 | } |
| 55 |