public async Task DeleteDestinationsUsers_ShouldDeleteDestinationsUsersCorrectly() { List <DestinationsUsers> deletedDestUsers = new List <DestinationsUsers>(); var destUserRepoBuilder = new DestinationsUsersRepositoryBuilder(); destUserRepoBuilder.DestUsersRepoMock.Setup(r => r.Delete(It.IsAny <DestinationsUsers>())) .Callback <DestinationsUsers>(du => deletedDestUsers.Add(du)); var destRepo = destUserRepoBuilder .WithAll() .Build(); var sut = new DestinationService(null, destRepo, null, null, null, null, null, Mapper); await sut.DeleteDestinationsUsers("2"); Assert.Equal(5, deletedDestUsers.Count()); destUserRepoBuilder.DestUsersRepoMock.Verify(); deletedDestUsers.ForEach(c => Assert.Equal("2", c.DestinationId)); destUserRepoBuilder.DestUsersRepoMock.Verify(d => d.Delete(It.IsAny <DestinationsUsers>()), Times.Exactly(5)); destUserRepoBuilder.DestUsersRepoMock.Verify(d => d.SaveChangesAsync(), Times.Once); }