public function testAverageFillupConsumptionCalculation() { $averageUser = $this->getTestUser(); $vehicle = Vehicle::firstOrCreate(['user_id' => $averageUser->id, 'registration' => 'ASD-567']); $fillupsData = $this->getFillupData($vehicle->id); $fillups = []; foreach ($fillupsData as $fillupData) { array_push($fillups, Fillup::firstOrCreate($fillupData)); } $this->assertEquals(0, AverageConsumptionService::getFillupConsumption($fillups[0]->id)); $this->assertEquals(60 / ((1500 - 1000) / 100), AverageConsumptionService::getFillupConsumption($fillups[1]->id)); $this->assertEquals(70 / ((2000 - 1500) / 100), AverageConsumptionService::getFillupConsumption($fillups[2]->id)); }
/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function store(Request $request, $vehicleId) { $this->assertVehicleExists($vehicleId); $fillup = Fillup::firstOrCreate(['vehicle_id' => $vehicleId, 'fillup_date' => $request->fillup_date, 'litres' => $request->litres, 'amount_paid' => $request->amount_paid, 'mileage' => $request->mileage]); return response()->json($fillup); }