public function run() { ExerciseEntry::truncate(); $this->faker = Faker::create(); $users = User::all(); foreach ($users as $user) { $this->user = $user; $this->unit_ids = Unit::where('user_id', $this->user->id)->where('for', 'exercise')->lists('id')->all(); $this->exercise_ids = Exercise::where('user_id', $this->user->id)->lists('id')->all(); $this->createEntriesForTheLastFiveDays(); } }
/** * @test * @return void */ public function it_cannot_delete_an_exercise_unit_that_is_in_use() { DB::beginTransaction(); $this->logInUser(); $unit = Unit::where('for', 'exercise')->first(); $response = $this->call('DELETE', '/api/exerciseUnits/' . $unit->id); $content = json_decode($response->getContent(), true); // dd($content); $this->assertArrayHasKey('error', $content); $this->assertEquals('Unit could not be deleted. It is in use.', $content['error']); $this->assertEquals(400, $response->getStatusCode()); DB::rollBack(); }
/** * */ private function createRecipes() { foreach (Config::get('recipes') as $tempRecipe) { $recipe = new Recipe(['name' => $tempRecipe['name']]); $recipe->user()->associate($this->user); $recipe->save(); foreach ($tempRecipe['ingredients'] as $ingredient) { $food = Food::where('user_id', $this->user->id)->where('name', $ingredient['food'])->first(); $recipe->foods()->attach([$food->id => ['unit_id' => Unit::where('user_id', $this->user->id)->where('name', $ingredient['unit'])->first()->id, 'quantity' => $ingredient['quantity'], 'description' => $ingredient['description']]]); } foreach ($tempRecipe['tags'] as $tempTag) { $tag = Tag::where('user_id', $this->user->id)->where('name', $tempTag)->first(); $recipe->tags()->attach([$tag->id => ['taggable_type' => 'recipe']]); } $recipe->save(); } }
public function run() { Exercise::truncate(); $this->faker = Faker::create(); $pushups = [['name' => 'kneeling pushups', 'defaultQuantity' => 20, 'description' => '', 'priority' => 2, 'frequency' => 7], ['name' => 'pushups', 'defaultQuantity' => 10, 'description' => 'hands shoulder width', 'priority' => 1], ['name' => 'one-arm pushups', 'defaultQuantity' => 2, 'description' => 'free hand behind back', 'priority' => 1]]; $squats = [['name' => 'assisted squats', 'defaultQuantity' => 50, 'description' => 'hold onto something', 'priority' => 3, 'frequency' => 3], ['name' => 'squats', 'defaultQuantity' => 30, 'description' => 'feet shoulder width', 'priority' => 2], ['name' => 'one-legged-squats', 'defaultQuantity' => 5, 'description' => '', 'priority' => 1]]; $gymnasticRings = [['name' => 'back lever', 'defaultQuantity' => 30, 'description' => '', 'priority' => 1, 'frequency' => 4]]; $flexibility = [['name' => 'hamstrings', 'defaultQuantity' => 20, 'description' => '', 'priority' => 2, 'stretch' => 1, 'frequency' => 7], ['name' => 'calves', 'defaultQuantity' => 10, 'description' => 'great stretch', 'priority' => 1, 'stretch' => 1]]; $users = User::all(); foreach ($users as $user) { $this->user = $user; $exercise_unit_ids = Unit::where('user_id', $this->user->id)->where('for', 'exercise')->lists('id')->all(); $this->insertExercisesInSeries($pushups, Unit::find($exercise_unit_ids[0]), Series::where('user_id', $this->user->id)->where('name', 'pushup')->first()); $this->insertExercisesInSeries($squats, Unit::find($exercise_unit_ids[1]), Series::where('user_id', $this->user->id)->where('name', 'squat')->first()); $this->insertExercisesInSeries($gymnasticRings, Unit::find($exercise_unit_ids[1]), Series::where('user_id', $this->user->id)->where('name', 'gymnastic rings')->first()); $this->insertExercisesInSeries($flexibility, Unit::find($exercise_unit_ids[1]), Series::where('user_id', $this->user->id)->where('name', 'flexibility')->first()); } }
/** * * @param Food $food * @param $tempFood */ private function attachDefaultUnit(Food $food, $tempFood) { $defaultUnit = Unit::where('user_id', $this->user->id)->where('name', $tempFood['defaultUnit'])->first(); $food->defaultUnit()->associate($defaultUnit); }
/** * * @param Request $request * @param Exercise $exercise * @return mixed */ public function update(Request $request, Exercise $exercise) { // Create an array with the new fields merged $data = array_compare($exercise->toArray(), $request->only(['name', 'step_number', 'default_quantity', 'description', 'target', 'priority', 'frequency'])); $exercise->update($data); if ($request->has('stretch')) { $exercise->stretch = $request->get('stretch'); $exercise->save(); } if ($request->has('series_id')) { $series = Series::findOrFail($request->get('series_id')); $exercise->series()->associate($series); $exercise->save(); } if ($request->has('program_id')) { $program = ExerciseProgram::findOrFail($request->get('program_id')); $exercise->program()->associate($program); $exercise->save(); } if ($request->has('default_unit_id')) { $unit = Unit::where('for', 'exercise')->findOrFail($request->get('default_unit_id')); $exercise->defaultUnit()->associate($unit); $exercise->save(); } return $this->responseOkWithTransformer($exercise, new ExerciseTransformer()); }