Skip to content

Commit

Permalink
Test triggering an event after deleting orders
Browse files Browse the repository at this point in the history
  • Loading branch information
unclexo committed Jan 11, 2023
1 parent f684622 commit f25df87
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 0 deletions.
8 changes: 8 additions & 0 deletions app/Http/Controllers/OrderController.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
namespace App\Http\Controllers;

use App\Events\OrderCreatedEvent;
use App\Events\OrderDeletedEvent;
use App\Events\OrderUpdatedEvent;
use App\Models\Order;
use Illuminate\Validation\Rule;
Expand Down Expand Up @@ -35,4 +36,11 @@ public function update(Order $order)

OrderUpdatedEvent::dispatch($order);
}

public function destroy(Order $order)
{
$order->delete();

OrderDeletedEvent::dispatch($order);
}
}
2 changes: 2 additions & 0 deletions routes/web.php
Original file line number Diff line number Diff line change
Expand Up @@ -75,5 +75,7 @@
Route::post('/', [OrderController::class, 'store'])->name('orders.store');

Route::patch('/{order}', [OrderController::class, 'update'])->name('orders.update');

Route::delete('/{order}', [OrderController::class, 'destroy'])->name('orders.delete');
});
});
14 changes: 14 additions & 0 deletions tests/Feature/EventTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -74,4 +74,18 @@ public function triggering_an_event_after_updating_orders()

Event::assertDispatched(OrderUpdatedEvent::class);
}

/** @test */
public function triggering_an_event_after_deleting_orders()
{
$this->actingAs($user = User::factory()->create());

Event::fake();

Event::assertNotDispatched(OrderDeletedEvent::class);

$this->delete(route('orders.delete', Order::factory()->create()));

Event::assertDispatched(OrderDeletedEvent::class);
}
}

0 comments on commit f25df87

Please sign in to comment.