shouldIgnoreMissing(); $repo_mock->shouldReceive('getUnprocessedMemberScheduleWorkRequestActionByPage')->andReturn(new PagingResponse(1, 10, 1, 1, [])); $app->instance(IAbstractCalendarSyncWorkRequestRepository::class, $repo_mock); $repo_mock = Mockery::mock(ICalendarSyncInfoRepository::class)->shouldIgnoreMissing(); $app->instance(ICalendarSyncInfoRepository::class, $repo_mock); $values = []; $request = Mockery::mock(MemberEventScheduleSummitActionSyncWorkRequest::class)->shouldIgnoreMissing(); $request->shouldReceive('getSummitEventId')->andReturn(1); $summit_event = Mockery::mock(SummitEvent::class)->shouldIgnoreMissing(); $member = Mockery::mock(Member::class)->shouldIgnoreMissing(); $calendar_sync_info = Mockery::mock(CalendarSyncInfo::class)->shouldIgnoreMissing(); $summit_event->shouldReceive('getId')->andReturn(1); $request->shouldReceive('getSummitEvent')->andReturn($summit_event); $request->shouldReceive('getCalendarSyncInfo')->andReturn($calendar_sync_info); $request->shouldReceive('getOwner')->andReturn($member); $request->shouldReceive('getType')->andReturn(AbstractCalendarSyncWorkRequest::TypeAdd); $request->shouldReceive('getSubType')->andReturn(MemberEventScheduleSummitActionSyncWorkRequest::SubType); $values[] = $request; $repo_email = Mockery::mock(IEmailCreationRequestRepository::class) ->shouldIgnoreMissing(); $app->instance(IEmailCreationRequestRepository::class, $repo_email); $processor = Mockery::mock(ICalendarSyncWorkRequestPreProcessor::class)->shouldIgnoreMissing(); $processor->shouldReceive('preProcessActions')->andReturn($values); $app->instance(ICalendarSyncWorkRequestPreProcessor::class, $processor); $facade = Mockery::mock(ICalendarSyncRemoteFacade::class)->shouldIgnoreMissing(); $message = <<Conflict

Conflict

cannot PUT to non-existent parent

HTML; $error = new ConflictException($message, 409); $facade->shouldReceive('addEvent')->andThrow($error); $factory = Mockery::mock(ICalendarSyncRemoteFacadeFactory::class)->shouldIgnoreMissing(); $factory->shouldReceive('build')->andReturn($facade); $app->instance(ICalendarSyncRemoteFacadeFactory::class, $factory); return $app; } public function test409ResponseFromCalDav(){ $service = App::make(MemberActionsCalendarSyncProcessingService::class); $service->processActions(CalendarSyncInfo::ProvideriCloud, 1000); } }