private DestinationService SetupGetDetailsSut() { var usersRepoBuilder = new GoUserRepositoryBuilder(); var usersRepo = usersRepoBuilder .WithAll() .Build(); var commentsRepoBuilder = new CommentsRepositoryBuilder(); var commentsRepo = commentsRepoBuilder .WithAll() .Build(); var storiesRepoBuilder = new StoriesRepositoryBuilder(); var storiesRepo = storiesRepoBuilder .WithAll() .Build(); var peopleStoriesRepoBuilder = new PeopleStoriesRepositoryBuilder(); var peopleStoriesRepo = peopleStoriesRepoBuilder .WithAll() .Build(); var destUsersRepoBuilder = new DestinationsUsersRepositoryBuilder(); var destUserRepo = destUsersRepoBuilder .WithAll() .Build(); var destRepoBuilder = new DestinationsRepositoryBuilder(); var destRepo = destRepoBuilder .WithAll() .Build(); return(new DestinationService(destRepo, destUserRepo, peopleStoriesRepo, commentsRepo, storiesRepo, usersRepo, null, Mapper)); }
public void FindMyDestinations_ShouldReturn_CorrectCountOf_DestViewModels() { var user = new GoUser { Id = "1" }; var destUserRepoBuilder = new DestinationsUsersRepositoryBuilder(); var destUserRepo = destUserRepoBuilder .WithAll() .Build(); var sut = new DestinationService(null, destUserRepo, null, null, null, null, null, this.Mapper); var actual = sut.FindMyDestinations(user); var expected = new List <DestViewModel> { new DestViewModel { Id = "1" } }.AsQueryable(); Assert.Equal(expected.Count(), actual.Count()); destUserRepoBuilder.DestUsersRepoMock.Verify(); destUserRepoBuilder.DestUsersRepoMock.Verify(d => d.AddAsync(It.IsAny <DestinationsUsers>()), Times.Never); destUserRepoBuilder.DestUsersRepoMock.Verify(d => d.SaveChangesAsync(), Times.Never); }
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); }
public async Task AddUserToDestination_ShouldThrowIfEnddateToJoinIsPassed() { var destRepoBuilder = new DestinationsRepositoryBuilder(); var destRepo = destRepoBuilder .WithAll() .Build(); var destUsersRepoBuilder = new DestinationsUsersRepositoryBuilder(); var destUserRepo = destUsersRepoBuilder .WithAll() .Build(); var sut = new DestinationService(destRepo, destUserRepo, null, null, null, null, null, null); var ex = await Assert.ThrowsAsync <ArgumentException>(async() => await sut.AddUserToDestination(new GoUser() { Id = "3" }, "3")); ex.Message.ShouldBe("The end date to join is passed"); destUsersRepoBuilder.DestUsersRepoMock.Verify(); destUsersRepoBuilder.DestUsersRepoMock.Verify(d => d.AddAsync(It.IsAny <DestinationsUsers>()), Times.Never); destUsersRepoBuilder.DestUsersRepoMock.Verify(d => d.SaveChangesAsync(), Times.Never); }
public async Task AddUserToDestination_ShouldThrowIfDestinationsUserAureadyExist() { var destRepoBuilder = new DestinationsRepositoryBuilder(); var destRepo = destRepoBuilder .WithAll() .Build(); var destUsersRepoBuilder = new DestinationsUsersRepositoryBuilder(); var destUserRepo = destUsersRepoBuilder .WithAll() .Build(); var sut = new DestinationService(destRepo, destUserRepo, null, null, null, null, null, null); var ex = await Assert.ThrowsAsync <ArgumentException>(async() => await sut.AddUserToDestination(new GoUser() { Id = "3" }, "1")); ex.Message.ShouldBe("You are auready in this group."); destUsersRepoBuilder.DestUsersRepoMock.Verify(); destUsersRepoBuilder.DestUsersRepoMock.Verify(d => d.AddAsync(It.IsAny <DestinationsUsers>()), Times.Never); destUsersRepoBuilder.DestUsersRepoMock.Verify(d => d.SaveChangesAsync(), Times.Never); }