49 - Moving the Email to the Reservation

This commit is contained in:
Adam Wathan
2016-12-15 11:51:22 -05:00
parent 2ab35a2f14
commit 11c3bfaae7
5 changed files with 28 additions and 12 deletions

View File

@@ -124,9 +124,10 @@ class ConcertTest extends TestCase
$concert = factory(Concert::class)->create()->addTickets(3);
$this->assertEquals(3, $concert->ticketsRemaining());
$reservation = $concert->reserveTickets(2);
$reservation = $concert->reserveTickets(2, 'john@example.com');
$this->assertCount(2, $reservation->tickets());
$this->assertEquals('john@example.com', $reservation->email());
$this->assertEquals(1, $concert->ticketsRemaining());
}
@@ -137,7 +138,7 @@ class ConcertTest extends TestCase
$concert->orderTickets('jane@example.com', 2);
try {
$concert->reserveTickets(2);
$concert->reserveTickets(2, 'john@example.com');
} catch (NotEnoughTicketsException $e) {
$this->assertEquals(1, $concert->ticketsRemaining());
return;
@@ -150,10 +151,10 @@ class ConcertTest extends TestCase
function cannot_reserve_tickets_that_have_already_been_reserved()
{
$concert = factory(Concert::class)->create()->addTickets(3);
$concert->reserveTickets(2);
$concert->reserveTickets(2, 'jane@example.com');
try {
$concert->reserveTickets(2);
$concert->reserveTickets(2, 'john@example.com');
} catch (NotEnoughTicketsException $e) {
$this->assertEquals(1, $concert->ticketsRemaining());
return;

View File

@@ -18,7 +18,7 @@ class ReservationTest extends TestCase
(object) ['price' => 1200],
]);
$reservation = new Reservation($tickets);
$reservation = new Reservation($tickets, 'john@example.com');
$this->assertEquals(3600, $reservation->totalCost());
}
@@ -32,11 +32,19 @@ class ReservationTest extends TestCase
(object) ['price' => 1200],
]);
$reservation = new Reservation($tickets);
$reservation = new Reservation($tickets, 'john@example.com');
$this->assertEquals($tickets, $reservation->tickets());
}
/** @test */
function retrieving_the_customers_email()
{
$reservation = new Reservation(collect(), 'john@example.com');
$this->assertEquals('john@example.com', $reservation->email());
}
/** @test */
function reserved_tickets_are_released_when_a_reservation_is_cancelled()
{
@@ -46,7 +54,7 @@ class ReservationTest extends TestCase
Mockery::spy(Ticket::class),
]);
$reservation = new Reservation($tickets);
$reservation = new Reservation($tickets, 'john@example.com');
$reservation->cancel();