mirror of
https://github.com/nothingworksinc/ticketbeast.git
synced 2026-03-04 06:00:12 +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()
|
public function publish()
|
||||||
{
|
{
|
||||||
$this->update(['published_at' => $this->freshTimestamp()]);
|
$this->update(['published_at' => $this->freshTimestamp()]);
|
||||||
|
$this->addTickets($this->ticket_quantity);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getFormattedDateAttribute()
|
public function getFormattedDateAttribute()
|
||||||
|
|||||||
@@ -49,7 +49,8 @@ class ConcertsController extends Controller
|
|||||||
'state' => request('state'),
|
'state' => request('state'),
|
||||||
'zip' => request('zip'),
|
'zip' => request('zip'),
|
||||||
'ticket_price' => request('ticket_price') * 100,
|
'ticket_price' => request('ticket_price') * 100,
|
||||||
])->addTickets(request('ticket_quantity'));
|
'ticket_quantity' => (int) request('ticket_quantity'),
|
||||||
|
]);
|
||||||
|
|
||||||
$concert->publish();
|
$concert->publish();
|
||||||
|
|
||||||
|
|||||||
@@ -89,6 +89,7 @@ class AddConcertTest extends TestCase
|
|||||||
$this->assertEquals('ON', $concert->state);
|
$this->assertEquals('ON', $concert->state);
|
||||||
$this->assertEquals('12345', $concert->zip);
|
$this->assertEquals('12345', $concert->zip);
|
||||||
$this->assertEquals(3250, $concert->ticket_price);
|
$this->assertEquals(3250, $concert->ticket_price);
|
||||||
|
$this->assertEquals(75, $concert->ticket_quantity);
|
||||||
$this->assertEquals(75, $concert->ticketsRemaining());
|
$this->assertEquals(75, $concert->ticketsRemaining());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -61,12 +61,17 @@ class ConcertTest extends TestCase
|
|||||||
/** @test */
|
/** @test */
|
||||||
function concerts_can_be_published()
|
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->assertFalse($concert->isPublished());
|
||||||
|
$this->assertEquals(0, $concert->ticketsRemaining());
|
||||||
|
|
||||||
$concert->publish();
|
$concert->publish();
|
||||||
|
|
||||||
$this->assertTrue($concert->isPublished());
|
$this->assertTrue($concert->isPublished());
|
||||||
|
$this->assertEquals(5, $concert->ticketsRemaining());
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @test */
|
/** @test */
|
||||||
|
|||||||
Reference in New Issue
Block a user