mirror of
https://github.com/nothingworksinc/ticketbeast.git
synced 2026-02-17 20:54:14 +00:00
128 - Making the Progress Bar Work
This commit is contained in:
@@ -104,4 +104,14 @@ class Concert extends Model
|
|||||||
{
|
{
|
||||||
return $this->tickets()->sold()->count();
|
return $this->tickets()->sold()->count();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function totalTickets()
|
||||||
|
{
|
||||||
|
return $this->tickets()->count();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function percentSoldOut()
|
||||||
|
{
|
||||||
|
return number_format(($this->ticketsSold() / $this->totalTickets()) * 100, 2);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,8 +25,8 @@
|
|||||||
<h2 class="m-xs-b-2 text-lg">Overview</h2>
|
<h2 class="m-xs-b-2 text-lg">Overview</h2>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-section border-b">
|
<div class="card-section border-b">
|
||||||
<p class="m-xs-b-4">This show is 60% sold out.</p>
|
<p class="m-xs-b-4">This show is {{ $concert->percentSoldOut() }}% sold out.</p>
|
||||||
<progress class="progress" value="357" max="600">60%</progress>
|
<progress class="progress" value="{{ $concert->ticketsSold() }}" max="{{ $concert->totalTickets() }}">{{ $concert->percentSoldOut() }}%</progress>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col col-md-4 border-md-r">
|
<div class="col col-md-4 border-md-r">
|
||||||
|
|||||||
@@ -93,6 +93,26 @@ class ConcertTest extends TestCase
|
|||||||
|
|
||||||
$this->assertEquals(3, $concert->ticketsSold());
|
$this->assertEquals(3, $concert->ticketsSold());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @test */
|
||||||
|
function total_tickets_includes_all_tickets()
|
||||||
|
{
|
||||||
|
$concert = factory(Concert::class)->create();
|
||||||
|
$concert->tickets()->saveMany(factory(Ticket::class, 3)->create(['order_id' => 1]));
|
||||||
|
$concert->tickets()->saveMany(factory(Ticket::class, 2)->create(['order_id' => null]));
|
||||||
|
|
||||||
|
$this->assertEquals(5, $concert->totalTickets());
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @test */
|
||||||
|
function calculating_the_percentage_of_tickets_sold()
|
||||||
|
{
|
||||||
|
$concert = factory(Concert::class)->create();
|
||||||
|
$concert->tickets()->saveMany(factory(Ticket::class, 2)->create(['order_id' => 1]));
|
||||||
|
$concert->tickets()->saveMany(factory(Ticket::class, 5)->create(['order_id' => null]));
|
||||||
|
|
||||||
|
// $this->assertEquals(0.285714286, $concert->percentSoldOut(), '', 0.00001);
|
||||||
|
$this->assertEquals(28.57, $concert->percentSoldOut());
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @test */
|
/** @test */
|
||||||
|
|||||||
Reference in New Issue
Block a user