mirror of
https://github.com/nothingworksinc/ticketbeast.git
synced 2026-01-26 11:14:06 +00:00
88 - Claiming Tickets When Creating Orders
This commit is contained in:
@@ -18,7 +18,7 @@ class Order extends Model
|
||||
'card_last_four' => $charge->cardLastFour(),
|
||||
]);
|
||||
|
||||
$order->tickets()->saveMany($tickets);
|
||||
$tickets->each->claimFor($order);
|
||||
|
||||
return $order;
|
||||
}
|
||||
|
||||
@@ -17,15 +17,19 @@ class OrderTest extends TestCase
|
||||
/** @test */
|
||||
function creating_an_order_from_tickets_email_and_charge()
|
||||
{
|
||||
$tickets = factory(Ticket::class, 3)->create();
|
||||
$charge = new Charge(['amount' => 3600, 'card_last_four' => '1234']);
|
||||
$tickets = collect([
|
||||
Mockery::spy(Ticket::class),
|
||||
Mockery::spy(Ticket::class),
|
||||
Mockery::spy(Ticket::class),
|
||||
]);
|
||||
|
||||
$order = Order::forTickets($tickets, 'john@example.com', $charge);
|
||||
|
||||
$this->assertEquals('john@example.com', $order->email);
|
||||
$this->assertEquals(3, $order->ticketQuantity());
|
||||
$this->assertEquals(3600, $order->amount);
|
||||
$this->assertEquals('1234', $order->card_last_four);
|
||||
$tickets->each->shouldHaveReceived('claimFor', [$order]);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
|
||||
Reference in New Issue
Block a user