|
10 | 10 |
|
11 | 11 | namespace UserFrosting\Sprinkle\Admin\Tests\Integration\Controller; |
12 | 12 |
|
| 13 | +use Mockery as m; |
13 | 14 | use League\FactoryMuffin\Faker\Facade as Faker; |
14 | 15 | use UserFrosting\Sprinkle\Account\Database\Models\User; |
15 | 16 | use UserFrosting\Sprinkle\Account\Tests\withTestUser; |
16 | 17 | use UserFrosting\Sprinkle\Admin\Controller\UserController; |
| 18 | +use UserFrosting\Sprinkle\Core\Mail\Mailer; |
| 19 | +use UserFrosting\Sprinkle\Core\Mail\TwigMailMessage; |
17 | 20 | use UserFrosting\Sprinkle\Core\Tests\RefreshDatabase; |
18 | 21 | use UserFrosting\Sprinkle\Core\Tests\TestDatabase; |
19 | 22 | use UserFrosting\Sprinkle\Core\Tests\withController; |
@@ -58,6 +61,12 @@ public function setUp() |
58 | 61 | } |
59 | 62 | } |
60 | 63 |
|
| 64 | + public function tearDown() |
| 65 | + { |
| 66 | + parent::tearDown(); |
| 67 | + m::close(); |
| 68 | + } |
| 69 | + |
61 | 70 | /** |
62 | 71 | */ |
63 | 72 | public function testControllerConstructor() |
@@ -87,9 +96,18 @@ public function testControllerConstructorWithUser() |
87 | 96 | * @depends testControllerConstructorWithUser |
88 | 97 | * @param UserController $controller |
89 | 98 | */ |
90 | | - // WILL NEED TO MOCK MAILLING SYSTEM FOR THIS TEST TO PROPERLY WORK |
91 | | - /*public function testCreate(UserController $controller) |
| 99 | + public function testCreate(UserController $controller) |
92 | 100 | { |
| 101 | + // Create fake mailer |
| 102 | + $mailer = m::mock(Mailer::class); |
| 103 | + $mailer->shouldReceive('send')->once()->with(\Mockery::type(TwigMailMessage::class)); |
| 104 | + $this->ci->mailer = $mailer; |
| 105 | + |
| 106 | + // Recreate controller to use the fake mailer |
| 107 | + $user = User::find($this->ci->config['reserved_user_ids.master']); |
| 108 | + $this->loginUser($user); |
| 109 | + $controller = $this->getController(); |
| 110 | + |
93 | 111 | // Create a fake group |
94 | 112 | $fm = $this->ci->factory; |
95 | 113 | $group = $fm->create('UserFrosting\Sprinkle\Account\Database\Models\Group'); |
@@ -119,7 +137,7 @@ public function testControllerConstructorWithUser() |
119 | 137 | $ms = $this->ci->alerts; |
120 | 138 | $messages = $ms->getAndClearMessages(); |
121 | 139 | $this->assertSame('success', end($messages)['type']); |
122 | | - }*/ |
| 140 | + } |
123 | 141 |
|
124 | 142 | /** |
125 | 143 | * @depends testControllerConstructorWithUser |
|
0 commit comments