public async Task LikeStory_ShouldNotAddUserStory_IfUserStoryAureadyExist() { var storiesRepoBuilder = new StoriesRepositoryBuilder(); var storiesRepo = storiesRepoBuilder .WithAll() .Build(); var userStoriesRepoBuilder = new PeopleStoriesRepositoryBuilder(); var userStoriesRepo = userStoriesRepoBuilder .WithAll() .Build(); var sut = new StoriesService(storiesRepo, null, userStoriesRepo, null, Mapper); var user = new GoUser { Id = "9" }; await sut.LikeStory("7", user); storiesRepoBuilder.StoriesRepoMock.Verify(); userStoriesRepoBuilder.PeopleStoriesRepoMock.Verify(d => d.AddAsync(It.IsAny <PeopleStories>()), Times.Never); userStoriesRepoBuilder.PeopleStoriesRepoMock.Verify(d => d.SaveChangesAsync(), Times.Never); }
public async Task LikeStory_ShouldThrow_IfStoryNotExist() { var storiesRepoBuilder = new StoriesRepositoryBuilder(); var storiesRepo = storiesRepoBuilder .WithAll() .Build(); var userStoriesRepoBuilder = new PeopleStoriesRepositoryBuilder(); var userStoriesRepo = userStoriesRepoBuilder .WithAll() .Build(); var sut = new StoriesService(storiesRepo, null, userStoriesRepo, null, Mapper); var user = new GoUser { Id = "7" }; var ex = await Assert.ThrowsAsync <ArgumentException>(async() => await sut.LikeStory("17", user)); Assert.Equal("Story not exist!", ex.Message); storiesRepoBuilder.StoriesRepoMock.Verify(); userStoriesRepoBuilder.PeopleStoriesRepoMock.Verify(d => d.AddAsync(It.IsAny <PeopleStories>()), Times.Never); userStoriesRepoBuilder.PeopleStoriesRepoMock.Verify(d => d.SaveChangesAsync(), Times.Never); }
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 GetDetails_ShouldThrow_IfStoryNotExist() { var userRepoBuilder = new GoUserRepositoryBuilder(); var userRepo = userRepoBuilder .WithAll() .Build(); var storiesRepoBuilder = new StoriesRepositoryBuilder(); var storiesRepo = storiesRepoBuilder .WithAll() .Build(); var UserStoriesRepoBuilder = new PeopleStoriesRepositoryBuilder(); var userStoriesRepo = UserStoriesRepoBuilder .WithAll() .Build(); var sut = new StoriesService(storiesRepo, null, userStoriesRepo, userRepo, Mapper); var ex = Assert.Throws <ArgumentException>(() => sut.GetDetails("17")); Assert.Equal("Story not exist!", ex.Message); }
public void GetDetails_ShouldReturnCorrect_StoryViewModel() { var userRepoBuilder = new GoUserRepositoryBuilder(); var userRepo = userRepoBuilder .WithAll() .Build(); var storiesRepoBuilder = new StoriesRepositoryBuilder(); var storiesRepo = storiesRepoBuilder .WithAll() .Build(); var UserStoriesRepoBuilder = new PeopleStoriesRepositoryBuilder(); var userStoriesRepo = UserStoriesRepoBuilder .WithAll() .Build(); var sut = new StoriesService(storiesRepo, null, userStoriesRepo, userRepo, Mapper); var actual = sut.GetDetails("7"); var peopleStories = userStoriesRepo.All().Where(x => x.StoryId == "7").Select(x => Mapper.Map <StoryViewModel>(x.Story)).ToList(); var author = userRepo.All().FirstOrDefault(x => x.Id == "8"); var expected = new StoryViewModel { Id = "7", DestinationId = "2", AuthorId = "8", Author = author.FirstName, Title = "Mrun", PeopleWhosLikeThis = peopleStories.Count() }; Assert.Equal(expected, actual, new StoriesViewModelComparer()); }
public async Task LikeStory_ShouldAddNew_UserStory() { var storiesRepoBuilder = new StoriesRepositoryBuilder(); var storiesRepo = storiesRepoBuilder .WithAll() .Build(); var userStoriesRepoBuilder = new PeopleStoriesRepositoryBuilder(); var userStoriesRepo = userStoriesRepoBuilder .WithAll() .Build(); var sut = new StoriesService(storiesRepo, null, userStoriesRepo, null, Mapper); var user = new GoUser { Id = "7" }; await sut.LikeStory("2", user); userStoriesRepoBuilder.PeopleStoriesRepoMock.Verify(r => r.AddAsync(It.IsAny <PeopleStories>()), Times.Once); userStoriesRepoBuilder.PeopleStoriesRepoMock.Verify(r => r.AddAsync(It.IsAny <PeopleStories>()), Times.Once); }
public void AllMyStories_ShouldReturnCorrectListStoryViewModels() { var userRepoBuilder = new GoUserRepositoryBuilder(); var userRepo = userRepoBuilder .WithAll() .Build(); var storiesRepoBuilder = new StoriesRepositoryBuilder(); var storiesRepo = storiesRepoBuilder .WithAll() .Build(); var UserStoriesRepoBuilder = new PeopleStoriesRepositoryBuilder(); var userStoriesRepo = UserStoriesRepoBuilder .WithAll() .Build(); var sut = new StoriesService(storiesRepo, null, userStoriesRepo, userRepo, Mapper); var user = new GoUser { Id = "10" }; var actual = sut.AllMyStories(user); var expected = new List <StoryViewModel> { new StoryViewModel { Id = "1", DestinationId = "3", AuthorId = "10", Author = "Saso ", Title = "Drun" }, new StoryViewModel { Id = "2", DestinationId = "3", AuthorId = "10", Author = "Saso ", Title = "Drun" }, new StoryViewModel { Id = "3", DestinationId = "6", AuthorId = "10", Author = "Saso ", Title = "Drun" }, new StoryViewModel { Id = "4", DestinationId = "4", AuthorId = "10", Author = "Saso ", Title = "Drun" }, new StoryViewModel { Id = "5", DestinationId = "5", AuthorId = "10", Author = "Saso ", Title = "Drun" }, new StoryViewModel { Id = "6", DestinationId = "1", AuthorId = "10", Author = "Saso ", Title = "Drun" }, new StoryViewModel { Id = "9", DestinationId = "2", AuthorId = "10", Author = "Saso ", Title = "Brum" } }; Assert.Equal(expected, actual, new StoriesViewModelComparer()); }