/**
  * Update the data.
  *
  * PUT|PATCH /api/positions/:id
  *
  * @param  Request $request
  * @param  Preset $preset
  * @param  Position $position
  * @return \Illuminate\Http\JsonResponse
  */
 public function update(Request $request, Preset $preset, Position $position)
 {
     $validator = new PositionValidator($preset, $request);
     if (!$validator->passes()) {
         return $validator->errors();
     }
     $position->fill($request->only('x', 'y'));
     $position->save();
     return $position->fresh()->load('piece');
 }
 /** @test **/
 public function it_returns_an_errors_json_given_an_invalid_position()
 {
     $user = factory(User::class, 'active')->create();
     $preset = factory(Preset::class)->create(['user_id' => $user->id]);
     $position = $preset->positions->first();
     $position->x = 0;
     $position->y = 0;
     $position->save();
     $position = Position::get()->last();
     $parameters = ['x' => 0, 'y' => 0];
     $expected = ['code' => 422];
     $this->json('PUT', "/api/presets/{$preset->id}/positions/{$position->id}", $parameters)->seeJson($expected);
 }
Exemplo n.º 3
0
 /** @test **/
 public function it_creates_positions_with_the_total_number_of_pieces_available_when_it_is_created()
 {
     $user = $this->createActiveUser();
     $preset = factory(Preset::class)->create(['user_id' => $user->id]);
     $this->assertEquals(Piece::count(), Position::count());
 }