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()); }