Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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));
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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());
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        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());
        }