6.9 - Respecting Reservations

This commit is contained in:
Adam Wathan
2016-11-20 20:10:15 -05:00
parent c3c80722f5
commit 79a26c77ed
4 changed files with 37 additions and 3 deletions

View File

@@ -129,4 +129,36 @@ class ConcertTest extends TestCase
$this->assertCount(2, $reservedTickets);
$this->assertEquals(1, $concert->ticketsRemaining());
}
/** @test */
function cannot_reserve_tickets_that_have_already_been_purchased()
{
$concert = factory(Concert::class)->create()->addTickets(3);
$concert->orderTickets('jane@example.com', 2);
try {
$concert->reserveTickets(2);
} catch (NotEnoughTicketsException $e) {
$this->assertEquals(1, $concert->ticketsRemaining());
return;
}
$this->fail("Reserving tickets succeeded even though the tickets were already sold.");
}
/** @test */
function cannot_reserve_tickets_that_have_already_been_reserved()
{
$concert = factory(Concert::class)->create()->addTickets(3);
$concert->reserveTickets(2);
try {
$concert->reserveTickets(2);
} catch (NotEnoughTicketsException $e) {
$this->assertEquals(1, $concert->ticketsRemaining());
return;
}
$this->fail("Reserving tickets succeeded even though the tickets were already reserved.");
}
}