mirror of
https://github.com/nothingworksinc/ticketbeast.git
synced 2026-01-30 12:46:28 +00:00
(rename unit folder back as Unit)
This commit is contained in:
49
tests/Unit/TicketTest.php
Normal file
49
tests/Unit/TicketTest.php
Normal file
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Unit;
|
||||
|
||||
use App\Order;
|
||||
use App\Ticket;
|
||||
use Tests\TestCase;
|
||||
use App\Facades\TicketCode;
|
||||
use Illuminate\Foundation\Testing\DatabaseMigrations;
|
||||
|
||||
class TicketTest extends TestCase
|
||||
{
|
||||
use DatabaseMigrations;
|
||||
|
||||
/** @test */
|
||||
function a_ticket_can_be_reserved()
|
||||
{
|
||||
$ticket = factory(Ticket::class)->create();
|
||||
$this->assertNull($ticket->reserved_at);
|
||||
|
||||
$ticket->reserve();
|
||||
|
||||
$this->assertNotNull($ticket->fresh()->reserved_at);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
function a_ticket_can_be_released()
|
||||
{
|
||||
$ticket = factory(Ticket::class)->states('reserved')->create();
|
||||
$this->assertNotNull($ticket->reserved_at);
|
||||
|
||||
$ticket->release();
|
||||
|
||||
$this->assertNull($ticket->fresh()->reserved_at);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
function a_ticket_can_be_claimed_for_an_order()
|
||||
{
|
||||
$order = factory(Order::class)->create();
|
||||
$ticket = factory(Ticket::class)->create(['code' => null]);
|
||||
TicketCode::shouldReceive('generateFor')->with($ticket)->andReturn('TICKETCODE1');
|
||||
|
||||
$ticket->claimFor($order);
|
||||
|
||||
$this->assertContains($ticket->id, $order->tickets->pluck('id'));
|
||||
$this->assertEquals('TICKETCODE1', $ticket->code);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user