mirror of
https://github.com/nothingworksinc/ticketbeast.git
synced 2026-02-13 16:52:57 +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(),
|
'card_last_four' => $charge->cardLastFour(),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$order->tickets()->saveMany($tickets);
|
$tickets->each->claimFor($order);
|
||||||
|
|
||||||
return $order;
|
return $order;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,15 +17,19 @@ class OrderTest extends TestCase
|
|||||||
/** @test */
|
/** @test */
|
||||||
function creating_an_order_from_tickets_email_and_charge()
|
function creating_an_order_from_tickets_email_and_charge()
|
||||||
{
|
{
|
||||||
$tickets = factory(Ticket::class, 3)->create();
|
|
||||||
$charge = new Charge(['amount' => 3600, 'card_last_four' => '1234']);
|
$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);
|
$order = Order::forTickets($tickets, 'john@example.com', $charge);
|
||||||
|
|
||||||
$this->assertEquals('john@example.com', $order->email);
|
$this->assertEquals('john@example.com', $order->email);
|
||||||
$this->assertEquals(3, $order->ticketQuantity());
|
|
||||||
$this->assertEquals(3600, $order->amount);
|
$this->assertEquals(3600, $order->amount);
|
||||||
$this->assertEquals('1234', $order->card_last_four);
|
$this->assertEquals('1234', $order->card_last_four);
|
||||||
|
$tickets->each->shouldHaveReceived('claimFor', [$order]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @test */
|
/** @test */
|
||||||
|
|||||||
Reference in New Issue
Block a user