public async Task AddStory_ShouldAddNewStoryCorrectly() { var destRepoBuilder = new DestinationsRepositoryBuilder(); var destRepo = destRepoBuilder .WithAll() .Build(); var storiesRepoBuilder = new StoriesRepositoryBuilder(); var storiesRepo = storiesRepoBuilder .WithAll() .Build(); var sut = new StoriesService(storiesRepo, destRepo, null, null, Mapper); var createStoryViewModel = new CreateStoryViewModel { Content = "Niki otiva na ski", Title = "Niki", DestinationId = "2", }; var user = new GoUser { Id = "7" }; await sut.AddStory(createStoryViewModel, "2", user); storiesRepoBuilder.StoriesRepoMock.Verify(r => r.AddAsync(It.IsAny <Story>()), Times.Once); storiesRepoBuilder.StoriesRepoMock.Verify(r => r.SaveChangesAsync(), Times.Once); }
public async Task AddStory_ShouldThrow_IfDestinationNotExist() { var destRepoBuilder = new DestinationsRepositoryBuilder(); var destRepo = destRepoBuilder .WithAll() .Build(); var storiesRepoBuilder = new StoriesRepositoryBuilder(); var storiesRepo = storiesRepoBuilder .WithAll() .Build(); var sut = new StoriesService(storiesRepo, destRepo, null, null, Mapper); var createStoryViewModel = new CreateStoryViewModel { Content = "Niki otiva na ski", Title = "Niki", DestinationId = "11", }; var user = new GoUser { Id = "7" }; var ex = await Assert.ThrowsAsync <ArgumentException>(async() => await sut.AddStory(createStoryViewModel, "11", user)); Assert.Equal("Destination not exist!", ex.Message); storiesRepoBuilder.StoriesRepoMock.Verify(r => r.AddAsync(It.IsAny <Story>()), Times.Never); storiesRepoBuilder.StoriesRepoMock.Verify(r => r.SaveChangesAsync(), Times.Never); }
public async Task EditDestination_ShouldEditDestinationCorrectly() { var destRepoBuilder = new DestinationsRepositoryBuilder(); var destRepo = destRepoBuilder .WithAll() .Build(); var sut = new DestinationService(destRepo, null, null, null, null, null, null, Mapper); var editDestinationViewModel = new EditDestinationViewModel { Id = "2", Image = SetupFileMock().Object, Description = "nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", Level = (LevelOfDifficulty)2, Naame = "Niki", StartDate = DateTime.Now.AddDays(3), EndDateToJoin = DateTime.Now.AddDays(1), EndDate = DateTime.Now.AddDays(5) }; await sut.EditDestination(editDestinationViewModel); var newdest = destRepo.All().FirstOrDefault(x => x.Id == "2"); var actual = Mapper.Map <EditDestinationViewModel>(newdest); Assert.Equal(editDestinationViewModel, actual, new EditDestinationViewModelComparer()); }
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 GetAllDestinations_ShouldReturn_All_DestViewModels() { var destRepoBuilder = new DestinationsRepositoryBuilder(); var destRepo = destRepoBuilder .WithAll() .Build(); var sut = new DestinationService(destRepo, null, null, null, null, null, null, this.Mapper); var actual = sut.GetAllDestinations(); var expected = new List <DestViewModel> { new DestViewModel { Id = "1" }, new DestViewModel { Id = "2" }, new DestViewModel { Id = "3" }, new DestViewModel { Id = "4" } }.AsQueryable(); Assert.Equal(expected, actual, new DestViewModelComparer()); destRepoBuilder.DestRepoMock.Verify(); destRepoBuilder.DestRepoMock.Verify(d => d.AddAsync(It.IsAny <Destination>()), Times.Never); destRepoBuilder.DestRepoMock.Verify(d => d.SaveChangesAsync(), Times.Never); }
public void FindToDeleteDestination_ShouldReturn_DestViewModel() { var user = new GoUser { Id = "7" }; var destRepoBuilder = new DestinationsRepositoryBuilder(); var destRepo = destRepoBuilder .WithAll() .Build(); var sut = new DestinationService(destRepo, null, null, null, null, null, null, Mapper); var actual = sut.FindToDeleteDestination("3", user); Assert.IsType <DestViewModel>(actual); }
public async Task DeleteDestination_ShouldDeleteDestinationCorrectly() { Destination destination = null; var destRepoBuilder = new DestinationsRepositoryBuilder(); destRepoBuilder.DestRepoMock.Setup(r => r.Delete(It.IsAny <Destination>())) .Callback <Destination>(d => destination = d); var destRepo = destRepoBuilder .WithAll() .Build(); var sut = new DestinationService(destRepo, null, null, null, null, null, null, Mapper); await sut.DeleteDestination("2"); Assert.Equal("2", destination.Id); destRepoBuilder.DestRepoMock.Verify(); destRepoBuilder.DestRepoMock.Verify(d => d.Delete(It.IsAny <Destination>()), Times.Once); destRepoBuilder.DestRepoMock.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); }