Esempio n. 1
0
        public async Task AddCommentToThem_ShouldAddNewThemComment_Correctly()
        {
            var themsRepoBuilder = new ThemsRepositoryBuilder();
            var themsRepo        = themsRepoBuilder
                                   .WithAll()
                                   .Build();

            var themCommentRepoBuilder = new ThemCommentsRepositoryBuilder();
            var themCommentsRepo       = themCommentRepoBuilder
                                         .WithAll()
                                         .Build();

            var sut = new ThemService(themsRepo, null, themCommentsRepo, Mapper);

            var model = new CreateThemViewModel
            {
                Description = "TraLaLA"
            };

            var user = new GoUser {
                Id = "7"
            };

            await sut.AddCommentToThem("3", "New themComment", user);

            themCommentRepoBuilder.ThemCommentsRepoMock.Verify(r => r.AddAsync(It.IsAny <ThemComment>()), Times.Once);
            themCommentRepoBuilder.ThemCommentsRepoMock.Verify(r => r.SaveChangesAsync(), Times.Once);
        }
Esempio n. 2
0
        public async Task AddCommentToThem_ShouldThrow_IfThemNotExist()
        {
            var themsRepoBuilder = new ThemsRepositoryBuilder();
            var themsRepo        = themsRepoBuilder
                                   .WithAll()
                                   .Build();

            var themCommentRepoBuilder = new ThemCommentsRepositoryBuilder();
            var themCommentsRepo       = themCommentRepoBuilder
                                         .WithAll()
                                         .Build();

            var sut = new ThemService(themsRepo, null, themCommentsRepo, Mapper);

            var model = new CreateThemViewModel
            {
                Description = "TraLaLA"
            };

            var user = new GoUser {
                Id = "7"
            };

            var ex = await Assert.ThrowsAsync <ArgumentException>(async() => await sut.AddCommentToThem("5", "New themComment", user));

            Assert.Equal("Theme not exist!", ex.Message);

            themCommentRepoBuilder.ThemCommentsRepoMock.Verify(r => r.AddAsync(It.IsAny <ThemComment>()), Times.Never);
            themCommentRepoBuilder.ThemCommentsRepoMock.Verify(r => r.SaveChangesAsync(), Times.Never);
        }
Esempio n. 3
0
        public async Task <IActionResult> Create(CreateThemViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(this.View());
            }

            var user = await userManager.GetUserAsync(HttpContext.User);

            await this.themService.AddThem(model, user);

            return(Redirect($"/Thems/All"));
        }
Esempio n. 4
0
        public async Task AddThem(CreateThemViewModel model, GoUser user)
        {
            var them = new Theme
            {
                Description = model.Description,
                Date        = DateTime.Now,
                Author      = user,
                AuthorId    = user.Id
            };

            await this.themsRepository.AddAsync(them);

            await this.themsRepository.SaveChangesAsync();
        }