3
3
namespace tests ;
4
4
5
5
use machour \yii2 \wpn \exceptions \InvalidApplication ;
6
+ use machour \yii2 \wpn \models \WpnSubscription ;
6
7
use machour \yii2 \wpn \Module ;
7
8
use Minishlink \WebPush \WebPush ;
8
9
use tests \fixtures \WpnAppFixture ;
9
10
use tests \fixtures \WpnCampaignFixture ;
11
+ use tests \fixtures \WpnSubscriptionFixture ;
10
12
11
- class MyTest extends \Codeception \Test \Unit
13
+ class PusherTest extends \Codeception \Test \Unit
12
14
{
13
15
use \Codeception \AssertThrows;
14
16
@@ -24,29 +26,45 @@ protected function _before()
24
26
$ this ->tester ->haveFixtures ([
25
27
'app ' => [
26
28
'class ' => WpnAppFixture::class,
27
- 'dataFile ' => codecept_data_dir () . 'wpn_app.php ' ,
28
29
],
29
30
'campaign ' => [
30
31
'class ' => WpnCampaignFixture::class,
31
32
],
33
+ 'subscription ' => [
34
+ 'class ' => WpnSubscriptionFixture::class,
35
+ ],
32
36
]);
33
37
34
- $ module = Module:: getInstance ();
35
- $ this -> pusher = $ module -> get ( ' pusher ' );
38
+ $ stub = $ this -> make (WebPush::class, [
39
+ ' queueNotification ' => function () {
36
40
37
- }
41
+ },
42
+ 'flush ' => function () {
43
+ return [1 ];
44
+ }
45
+ ]);
46
+ \Yii::$ container ->set (WebPush::class, $ stub );
38
47
39
- protected function _after ()
40
- {
48
+
49
+ $ module = Module::getInstance ();
50
+ $ this ->pusher = $ module ->get ('pusher ' );
41
51
42
52
}
43
53
44
54
// tests
45
55
public function testRefusingDisabledApplication ()
46
56
{
47
- $ invalidApplication = $ this ->tester ->grabFixture ('campaign ' , 1 );
48
- $ this ->assertThrows (InvalidApplication::class, function () use ($ invalidApplication ) {
49
- $ this ->pusher ->sendPush ($ invalidApplication );
57
+ $ campaign = $ this ->tester ->grabFixture ('campaign ' , 1 );
58
+ $ this ->assertThrows (InvalidApplication::class, function () use ($ campaign ) {
59
+ $ this ->pusher ->sendPush ($ campaign );
50
60
});
51
61
}
62
+
63
+
64
+ public function testMock ()
65
+ {
66
+ $ campaign = $ this ->tester ->grabFixture ('campaign ' , 0 );
67
+
68
+ $ this ->pusher ->sendPush ($ campaign );
69
+ }
52
70
}
0 commit comments