public async Task Should_Delete_Event_Options() { var eventId = MockCommentsForEvent(); await _eventUtilitiesService.DeleteByEventAsync(eventId, "testUserId"); _eventOptionsDbSet.Received(3).Remove(Arg.Any <EventOption>()); }
public async Task DeleteAsync(Guid id, UserAndOrganizationDto userOrg) { var @event = await _eventsDbSet .Include(e => e.EventOptions) .Include(e => e.EventParticipants) .SingleOrDefaultAsync(e => e.Id == id && e.OrganizationId == userOrg.OrganizationId); _eventValidationService.CheckIfEventExists(@event); var isAdmin = await _permissionService.UserHasPermissionAsync(userOrg, AdministrationPermissions.Event); // ReSharper disable once PossibleNullReferenceException _eventValidationService.CheckIfUserHasPermission(userOrg.UserId, @event.ResponsibleUserId, isAdmin); _eventValidationService.CheckIfEventEndDateIsExpired(@event.EndDate); var timestamp = DateTime.UtcNow; @event.Modified = timestamp; @event.ModifiedBy = userOrg.UserId; await _eventParticipationService.DeleteByEventAsync(id, userOrg.UserId); await _eventUtilitiesService.DeleteByEventAsync(id, userOrg.UserId); _eventsDbSet.Remove(@event); await _uow.SaveChangesAsync(false); await _wallService.DeleteWallAsync(@event.WallId, userOrg, WallType.Events); }