Notifications fixes (#804)

* Emails not sending #795 #722

* Fix for news items not being sent; refactor some events; check for opt-in #722

* Formatting

* Remove extra parameter
This commit is contained in:
Nabeel S
2020-09-03 12:50:42 -04:00
committed by GitHub
parent 55fa01478d
commit e99c22b007
34 changed files with 179 additions and 54 deletions

View File

@@ -13,11 +13,13 @@ use App\Models\Navdata;
use App\Models\Pirep;
use App\Models\User;
use App\Notifications\Messages\PirepAccepted;
use App\Notifications\Messages\PirepSubmitted;
use App\Repositories\SettingRepository;
use App\Services\AircraftService;
use App\Services\BidService;
use App\Services\FlightService;
use App\Services\PirepService;
use App\Services\UserService;
use Carbon\Carbon;
use Illuminate\Support\Facades\Notification;
@@ -212,6 +214,38 @@ class PIREPTest extends TestCase
$this->assertFalse($pirep_ids->contains($pirep_cancelled->id));
}
/**
* Make sure that a notification has been sent out to admins when a PIREP is submitted
*
* @throws \Exception
*/
public function testPirepNotifications()
{
/** @var User $user */
$user = factory(User::class)->create([
'flights' => 0,
'flight_time' => 0,
'rank_id' => 1,
]);
$admin = factory(User::class)->create();
/** @var UserService $userSvc */
$userSvc = app(UserService::class);
$userSvc->addUserToRole($admin, 'admin');
$pirep = factory(Pirep::class)->create([
'airline_id' => 1,
'user_id' => $user->id,
]);
$this->pirepSvc->create($pirep);
$this->pirepSvc->submit($pirep);
// Make sure a notification was sent out to the admin
Notification::assertSentTo([$admin], PirepSubmitted::class);
}
/**
* check the stats/ranks, etc have incremented properly
*/