/** * get Availability for Business * * @param Business $business Business to query * @param ConciergeServiceLayer $concierge Concierge injection * @return Response Rendered view of Appointment booking form */ public function getAvailability(Business $business, ConciergeServiceLayer $concierge) { $this->log->info('AgendaController: getBook'); Notifynder::category('user.checkingVacancies')->from('App\\User', auth()->user()->id)->to('App\\Business', $business->id)->url('http://localhost')->send(); if (!auth()->user()->getContactSubscribedTo($business)) { $this->log->info('AgendaController: getIndex: [ADVICE] User not subscribed to Business'); Flash::warning(trans('user.booking.msg.you_are_not_subscribed_to_business')); return redirect()->back(); } $availability = $concierge->getVacancies($business, auth()->user(), 7); return view('user.appointments.' . $business->strategy . '.book', compact('business', 'availability')); }
/** * Test get empty vacancies from Concierge Service Layer * @covers \App\ConciergeServiceLayer::getVacancies */ public function testConciergeGetEmptyVacancies() { /* Setup Stubs */ $user = factory(User::class)->create(); $business = factory(Business::class)->create(); $service = factory(Service::class)->make(); $business->services()->save($service); /* Perform Test */ $concierge = new ConciergeServiceLayer(); $vacancies = $concierge->getVacancies($business, $user); foreach ($vacancies as $vacancy) { $this->assertContainsOnly([], $vacancy); } }