/**
  * Display a listing of the resource.
  *
  * @return Response
  */
 public function index(VehicleRepositoryEloquent $vehicleRepo, EntryRepositoryEloquent $entryRepo, TripRepositoryEloquent $tripRepo)
 {
     $vehiclesStatistics = $vehicleRepo->getVehiclesStatistics();
     $vehiclesLastPlace = $vehicleRepo->getVehiclesLastPlace();
     $lastsServiceCost = $entryRepo->getLastsServiceCostStatistics();
     $servicesStatistics = $entryRepo->getServicesStatistics();
     $tripsStatistics = $tripRepo->getTripsStatistics();
     $lastsFuelCost = $tripRepo->getLastsFuelCostStatistics();
     return View::make('welcome', ['vehiclesStatistics' => $vehiclesStatistics, 'vehiclesLastPlace' => $vehiclesLastPlace, 'lastsServiceCostStatistics' => $lastsServiceCost, 'servicesStatistics' => $servicesStatistics, 'tripsStatistics' => $tripsStatistics, 'lastsFuelCostStatistics' => $lastsFuelCost]);
 }
 public function testVehiclesStatistics()
 {
     $vehicles = [];
     for ($i = 0; $i < 9; $i++) {
         $vehicles[] = factory(\App\Entities\Vehicle::class)->create(['company_id' => $this->company_id]);
     }
     // In use tests
     $trips[0] = factory(\App\Entities\Trip::class)->create(['company_id' => $this->company_id, 'vehicle_id' => $vehicles[0]->id, 'pickup_date' => Carbon::now()->subDays(2)]);
     $trips[1] = factory(\App\Entities\Trip::class)->create(['company_id' => $this->company_id, 'vehicle_id' => $vehicles[1]->id, 'pickup_date' => Carbon::now()->subDays(5), 'deliver_date' => Carbon::now()->addDays(5)]);
     $trips[2] = factory(\App\Entities\Trip::class)->create(['company_id' => $this->company_id, 'vehicle_id' => $vehicles[2]->id, 'pickup_date' => Carbon::now()->subDays(5), 'deliver_date' => Carbon::now()->addDays(5)]);
     // Maintenance tests
     $type = factory(\App\Entities\Type::class)->create(['company_id' => $this->company_id, 'entity_key' => 'vehicle', 'name' => 'repair']);
     $entries[0] = factory(\App\Entities\Entry::class)->create(['company_id' => $this->company_id, 'entry_type_id' => $type->id, 'datetime_ini' => Carbon::now()->subDays(2), 'vehicle_id' => $vehicles[3]->id]);
     $entries[1] = factory(\App\Entities\Entry::class)->create(['company_id' => $this->company_id, 'entry_type_id' => $type->id, 'datetime_ini' => Carbon::now()->subDays(2), 'datetime_end' => Carbon::now()->addDays(5), 'vehicle_id' => $vehicles[4]->id]);
     $statistics = VehicleRepositoryEloquent::getVehiclesStatistics();
     $this->assertEquals($statistics['in_use']['result'], 3);
     $this->assertEquals($statistics['maintenance']['result'], 2);
     $this->assertEquals($statistics['available']['result'], 4);
 }