Discord notifications for PIREP and News events #433 (#1215)

* Discord notifications for events #433

* Style fixes

* Check for blank webhook urls and disable

* Cleanup items after review

* Changes and fixes

* Style fixes

* Don't load env for testing

* Fix status text

* Refactor saving fields/fares so events get the latest data

* Cleanup

* Style fixes
This commit is contained in:
Nabeel S
2021-06-04 10:51:59 -04:00
committed by GitHub
parent 17447c6903
commit 9b2e466b7e
46 changed files with 1249 additions and 456 deletions

View File

@@ -450,6 +450,7 @@ class AcarsTest extends TestCase
'level' => 38000,
'planned_distance' => 400,
'planned_flight_time' => 120,
'status' => PirepStatus::BOARDING,
'route' => 'POINTA POINTB',
'source_name' => 'AcarsTest::testAcarsUpdates',
'fields' => [
@@ -487,6 +488,8 @@ class AcarsTest extends TestCase
$uri = '/api/pireps/'.$pirep_id.'/update';
$this->post($uri, [
'flight_time' => 60,
'distance' => 20,
'status' => PirepStatus::AIRBORNE,
'fields' => [
'custom_field' => 'custom_value_changed',
],

View File

@@ -14,6 +14,7 @@ trait CreatesApplication
public function createApplication()
{
$app = require __DIR__.'/../bootstrap/app.php';
$app->loadEnvironmentFrom('');
$app->make(Kernel::class)->bootstrap();
return $app;

View File

@@ -13,6 +13,7 @@ use App\Models\Flight;
use App\Models\Journal;
use App\Models\JournalTransaction;
use App\Models\Pirep;
use App\Models\PirepFare;
use App\Models\Subfleet;
use App\Models\User;
use App\Repositories\ExpenseRepository;
@@ -763,11 +764,10 @@ class FinanceTest extends TestCase
// Override the fares
$fare_counts = [];
foreach ($fares as $fare) {
$fare_counts[] = [
$fare_counts[] = new PirepFare([
'fare_id' => $fare->id,
'price' => $fare->price,
'count' => round($fare->capacity / 2),
];
]);
}
$this->fareSvc->saveForPirep($pirep, $fare_counts);
@@ -777,7 +777,7 @@ class FinanceTest extends TestCase
foreach ($all_fares as $fare) {
$set_fare = $fare_counts->where('fare_id', $fare->id)->first();
$this->assertEquals($set_fare['count'], $fare->count);
$this->assertEquals($set_fare['price'], $fare->price);
$this->assertNotEmpty($fare->price);
}
}
@@ -892,11 +892,10 @@ class FinanceTest extends TestCase
// Override the fares
$fare_counts = [];
foreach ($fares as $fare) {
$fare_counts[] = [
$fare_counts[] = new PirepFare([
'fare_id' => $fare->id,
'price' => $fare->price,
'count' => 100,
];
]);
}
$this->fareSvc->saveForPirep($pirep, $fare_counts);
@@ -948,11 +947,10 @@ class FinanceTest extends TestCase
// Override the fares
$fare_counts = [];
foreach ($fares as $fare) {
$fare_counts[] = [
$fare_counts[] = new PirepFare([
'fare_id' => $fare->id,
'price' => $fare->price,
'count' => 100,
];
]);
}
$this->fareSvc->saveForPirep($pirep, $fare_counts);
@@ -1074,11 +1072,11 @@ class FinanceTest extends TestCase
// Override the fares
$fare_counts = [];
foreach ($fares as $fare) {
$fare_counts[] = [
$fare_counts[] = new PirepFare([
'fare_id' => $fare->id,
'price' => $fare->price,
'count' => 100,
];
]);
}
$this->fareSvc->saveForPirep($pirep, $fare_counts);

View File

@@ -4,6 +4,7 @@ namespace Tests;
use App\Events\UserRegistered;
use App\Models\Enums\UserState;
use App\Models\User;
use Illuminate\Support\Facades\Event;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Notification;
@@ -26,7 +27,7 @@ class RegistrationTest extends TestCase
setting('pilots.auto_accept', true);
$attrs = factory(\App\Models\User::class)->make()->toArray();
$attrs = factory(User::class)->make()->toArray();
$attrs['password'] = Hash::make('secret');
$user = $userSvc->createUser($attrs);

View File

@@ -57,11 +57,10 @@ abstract class TestCase extends \Illuminate\Foundation\Testing\TestCase
ThrottleRequests::class
);
Notification::fake();
Artisan::call('database:create', ['--reset' => true]);
Artisan::call('migrate:refresh', ['--env' => 'testing', '--force' => true]);
Notification::fake();
// $this->disableExceptionHandling();
}