/** * 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); }