/** * Store a new reservation * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function create(Client $client, Request $request, Authenticatable $user, $id) { $this->validate($request, ['message' => 'required|string']); $property = VacationProperty::find($id); $reservation = new Reservation($request->all()); $reservation->respond_phone_number = $user->fullNumber(); $reservation->user()->associate($property->user); $property->reservations()->save($reservation); $this->notifyHost($client, $reservation); $request->session()->flash('status', "Sending your reservation request now."); return redirect()->route('property-show', ['id' => $property->id]); }
function testEditProperty() { // Given $this->startSession(); $userData = ['name' => 'Captain Kirk', 'email' => '*****@*****.**', 'password' => 'strongpassword', 'country_code' => '1', 'phone_number' => '5558180101']; $newUser = new User($userData); $newUser->save(); $this->be($newUser); $propertyData = ['description' => 'Some description', 'image_url' => 'http://www.someimage.com']; $newProperty = new VacationProperty($propertyData); $newUser->properties()->save($newProperty); $this->assertCount(1, VacationProperty::all()); // When $response = $this->call('POST', route('property-edit-action', ['id' => $newProperty->id]), ['description' => 'edited description', 'image_url' => 'http://www.modified.net', '_token' => csrf_token()]); // Then $this->assertCount(1, VacationProperty::all()); $property = VacationProperty::first(); $this->assertEquals($property->description, 'edited description'); $this->assertEquals($property->image_url, 'http://www.modified.net'); $this->assertRedirectedToRoute('property-show', ['id' => $property->id]); }
public function editProperty(Request $request, $id) { $property = VacationProperty::find($id); $property->update($request->all()); return redirect()->route('property-show', ['id' => $id]); }