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