public async Task CanCancelScheduledShiftWithAssignments() { int id = 1; int userId = 2; _shiftRepositoryMock.Setup(x => x.GetScheduledShift(id)) .Returns(Task.FromResult(new ScheduledShift() { Id = 1, StartsAt = new DateTime(2001, 1, 1), EndsAt = new DateTime(2001, 1, 1), PatrolId = 1, })).Verifiable(); _shiftRepositoryMock.Setup(x => x.GetScheduledShiftAssignmentsForScheduledShift(id)) .Returns(Task.FromResult(new List <ScheduledShiftAssignment>() { new ScheduledShiftAssignment() { Id = 1, AssignedUserId = 1, ClaimedByUserId = null, OriginalAssignedUserId = 1, ScheduledShiftId = 1, Status = ShiftStatus.Assigned } }.AsEnumerable())).Verifiable(); _shiftRepositoryMock.Setup(x => x.DeleteScheduledShiftAssignment(It.Is <ScheduledShiftAssignment>(y => y.Id == 1))) .Verifiable(); _shiftRepositoryMock.Setup(x => x.DeleteScheduledShift(It.Is <ScheduledShift>(y => y.Id == 1))) .Verifiable(); await _scheduleService.CancelShift(id); _shiftRepositoryMock.Verify(); }