From 75dfc00c0eb0957419d26911c6439825e00af6b2 Mon Sep 17 00:00:00 2001 From: Vraja Das Date: Thu, 27 Jul 2023 11:08:05 +0200 Subject: [PATCH] unit test for WPMessageDismissListener --- tests/WPMessageDismissListenerTest.php | 86 ++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 tests/WPMessageDismissListenerTest.php diff --git a/tests/WPMessageDismissListenerTest.php b/tests/WPMessageDismissListenerTest.php new file mode 100644 index 0000000..84fcb35 --- /dev/null +++ b/tests/WPMessageDismissListenerTest.php @@ -0,0 +1,86 @@ +getMockBuilder( 'Whip_MessageDismisser' ) + ->disableOriginalConstructor() + ->getMock(); + + $instance = new Whip_WPMessageDismissListener( $dismisser ); + + $_GET['action'] = $action; + $_GET['nonce'] = $nonce; + + $dismisser->expects( $this->exactly( $verifyNonceTimes ) ) + ->method( 'verify_nonce' ) + ->with( $nonce, $action ) + ->willReturn( $isCorrectNonce ); + + $dismisser->expects( $this->exactly( $dismissTimes ) ) + ->method( 'dismiss' ); + + $instance->listen(); + } + + /** + * Data provider for testDismiss. + * + * @return array + */ + public function listenProvider() { + return array( + 'correct action and nonce' => array( + 'action' => Whip_WPMessageDismissListener::ACTION_NAME, + 'nonce' => 'the_right_nonce', + 'verifyNonceTimes' => 1, + 'isCorrectNonce' => true, + 'dismissTimes' => 1, + ), + 'incorrect action correct nonce' => array( + 'action' => 'wrong_action', + 'nonce' => 'the_right_nonce', + 'verifyNonceTimes' => 0, + 'isCorrectNonce' => false, + 'dismissTimes' => 0, + ), + 'correct action incorrect nonce' => array( + 'action' => Whip_WPMessageDismissListener::ACTION_NAME, + 'nonce' => 'wrong_nonce', + 'verifyNonceTimes' => 1, + 'isCorrectNonce' => false, + 'dismissTimes' => 0, + ), + 'incorrect action and nonce' => array( + 'action' => 'wrong_action', + 'nonce' => 'wrong_nonce', + 'verifyNonceTimes' => 0, + 'isCorrectNonce' => false, + 'dismissTimes' => 0, + ), + ); + } +}