Exemplo n.º 1
0
        public void Add_blogarticle_when_title_is_having_and_content_is_having_should_add_a_record_blogarticle()
        {
            //Arrange
            var articleRepositoryMocker   = new Mock <IBlogArticleRepository>();
            var currentTimeProviderMocker = new Mock <ICurrentTimeProvider>();
            var unitOfWorkFactoryMocker   = new Mock <IUnitOfWorkFactory>();
            var work = new AddWorkCommand
            {
                Title    = "1",
                Category = Enums.Category.Web前段,
                Content  = "2"
            };

            LoginUserSection.Start(new LoginUserInformationForCodeSection
            {
                LoginName = "yzuhao"
            });

            var datetime = new DateTime(2018, 01, 01);

            currentTimeProviderMocker.Setup(x => x.CurrentTime()).Returns(datetime);

            var blogArticleLogic = new BlogArticleLogic(articleRepositoryMocker.Object,
                                                        currentTimeProviderMocker.Object, unitOfWorkFactoryMocker.Object);

            //Act
            blogArticleLogic.Add(work);

            //Assert
            articleRepositoryMocker.Verify(x => x.Add(It.IsAny <BlogArticle>()), Times.Once);
        }
Exemplo n.º 2
0
        public void Update_blogarticle_when_title_is_having_and_content_is_having_should_update_blogarticle()
        {
            //Arrange
            var articleRepositoryMocker   = new Mock <IBlogArticleRepository>();
            var currentTimeProviderMocker = new Mock <ICurrentTimeProvider>();
            var unitOfWorkFactoryMocker   = new Mock <IUnitOfWorkFactory>();
            var work = new UpdateWorkCommand
            {
                Id       = 6,
                Title    = "3",
                Category = Enums.Category.Web前段,
                Content  = "3"
            };

            LoginUserSection.Start(new LoginUserInformationForCodeSection
            {
                LoginName = "yzuhao"
            });

            var datetime = new DateTime(2018, 01, 01);

            currentTimeProviderMocker.Setup(x => x.CurrentTime()).Returns(datetime);

            var info = new BlogArticle
            {
                Id         = 6,
                Title      = "1",
                Category   = Enums.Category.Web前段,
                Content    = "2",
                CreateUser = "******",
                CreateDate = datetime
            };

            articleRepositoryMocker.Setup(x => x.Get(It.IsAny <int>())).Returns(info);

            var blogArticleLogic = new BlogArticleLogic(articleRepositoryMocker.Object,
                                                        currentTimeProviderMocker.Object, unitOfWorkFactoryMocker.Object);

            //Act
            blogArticleLogic.Update(work);

            //Assert
            info.Title.Should().Be("3");
            info.Category.Should().Be(Enums.Category.Web前段);
            info.Content.Should().Be("3");
        }
Exemplo n.º 3
0
        public void LogicDelete_blogarticle_when_need_not_should_delete_this_record_by_id()
        {
            //Arrange
            var       articleRepositoryMocker   = new Mock <IBlogArticleRepository>();
            var       currentTimeProviderMocker = new Mock <ICurrentTimeProvider>();
            var       unitOfWorkFactoryMocker   = new Mock <IUnitOfWorkFactory>();
            const int id = 6;

            LoginUserSection.Start(new LoginUserInformationForCodeSection
            {
                LoginName = "yzuhao"
            });

            var datetime = new DateTime(2018, 01, 01);

            currentTimeProviderMocker.Setup(x => x.CurrentTime()).Returns(datetime);

            var info = new BlogArticle
            {
                Title      = "1",
                Category   = Enums.Category.Web前段,
                Content    = "2",
                CreateUser = "******",
                CreateDate = datetime
            };

            articleRepositoryMocker.Setup(x => x.Get(It.IsAny <int>())).Returns(info);

            unitOfWorkFactoryMocker.Setup(x => x.GetCurrentUnitOfWork().Commit());

            var blogArticleLogic = new BlogArticleLogic(articleRepositoryMocker.Object,
                                                        currentTimeProviderMocker.Object, unitOfWorkFactoryMocker.Object);

            //Act
            blogArticleLogic.LogicDelete(id);

            //Assert
            info.Title.Should().Be("1");
            info.Status.Should().Be(Enums.Status.Delete);
            info.EditUser.Should().Be("yzuhao");
            info.EditDate.Should().Be(datetime);
        }
Exemplo n.º 4
0
        public void Add_blogarticle_when_title_is_having_and_content_is_none_should_throw_exception()
        {
            //Arrange
            var articleRepositoryMocker   = new Mock <IBlogArticleRepository>();
            var currentTimeProviderMocker = new Mock <ICurrentTimeProvider>();
            var unitOfWorkFactoryMocker   = new Mock <IUnitOfWorkFactory>();
            var work = new AddWorkCommand
            {
                Title    = "1",
                Category = Enums.Category.Web前段,
                Content  = ""
            };

            var blogArticleLogic = new BlogArticleLogic(articleRepositoryMocker.Object,
                                                        currentTimeProviderMocker.Object, unitOfWorkFactoryMocker.Object);

            //Act
            //Assert
            Assert.Throws <LogicException>(() => blogArticleLogic.Add(work));
        }