mirror of
https://github.com/nothingworksinc/ticketbeast.git
synced 2026-02-03 13:48:29 +00:00
120 - Creating Tickets at Time of Publish
This commit is contained in:
@@ -28,6 +28,7 @@ class Concert extends Model
|
||||
public function publish()
|
||||
{
|
||||
$this->update(['published_at' => $this->freshTimestamp()]);
|
||||
$this->addTickets($this->ticket_quantity);
|
||||
}
|
||||
|
||||
public function getFormattedDateAttribute()
|
||||
|
||||
@@ -49,7 +49,8 @@ class ConcertsController extends Controller
|
||||
'state' => request('state'),
|
||||
'zip' => request('zip'),
|
||||
'ticket_price' => request('ticket_price') * 100,
|
||||
])->addTickets(request('ticket_quantity'));
|
||||
'ticket_quantity' => (int) request('ticket_quantity'),
|
||||
]);
|
||||
|
||||
$concert->publish();
|
||||
|
||||
|
||||
@@ -89,6 +89,7 @@ class AddConcertTest extends TestCase
|
||||
$this->assertEquals('ON', $concert->state);
|
||||
$this->assertEquals('12345', $concert->zip);
|
||||
$this->assertEquals(3250, $concert->ticket_price);
|
||||
$this->assertEquals(75, $concert->ticket_quantity);
|
||||
$this->assertEquals(75, $concert->ticketsRemaining());
|
||||
});
|
||||
}
|
||||
|
||||
@@ -61,12 +61,17 @@ class ConcertTest extends TestCase
|
||||
/** @test */
|
||||
function concerts_can_be_published()
|
||||
{
|
||||
$concert = factory(Concert::class)->create(['published_at' => null]);
|
||||
$concert = factory(Concert::class)->create([
|
||||
'published_at' => null,
|
||||
'ticket_quantity' => 5,
|
||||
]);
|
||||
$this->assertFalse($concert->isPublished());
|
||||
$this->assertEquals(0, $concert->ticketsRemaining());
|
||||
|
||||
$concert->publish();
|
||||
|
||||
$this->assertTrue($concert->isPublished());
|
||||
$this->assertEquals(5, $concert->ticketsRemaining());
|
||||
}
|
||||
|
||||
/** @test */
|
||||
|
||||
Reference in New Issue
Block a user