コード例 #1
0
        public void CreatePost_throwsException_IdIsInvalid()
        {
            var mocqRepo = new Mock <IRepository <MonsterTO> >();

            mocqRepo.Setup(x => x.Upsert(It.IsAny <MonsterTO>())).Throws(new ArgumentException("MonsterNotValidException"));
            var author     = new AuthorUseCase(mocqRepo.Object);
            var controller = new ManualController(author);

            controller.ModelState.AddModelError("Kind", "Required");
            var newPost = new FormCollection(new Dictionary <string, StringValues>
            {
                { "Id", new  StringValues("-242") },
                { "Title", new StringValues("Kakarott") },
                { "Name", new StringValues("Rir") },
                { "Author", new StringValues("Enerv") },
                { "Kind", new StringValues(Common.Enumerations.Type.Oozes.ToString()) },
                { "Size", new StringValues(Size.Small.ToString()) }
            });

            var result = controller.Create(newPost) as RedirectToActionResult;

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(RedirectToActionResult));
            Assert.AreEqual("Create", result.ActionName);
        }
コード例 #2
0
        public void EditPost_Correct_FormularCorrect()
        {
            int id       = 183;
            var mocqRepo = new Mock <IRepository <MonsterTO> >();

            mocqRepo.Setup(x => x.GetById(It.IsAny <int>())).Returns(testHelper.testMonster(id));
            mocqRepo.Setup(x => x.Upsert(It.IsAny <MonsterTO>())).Returns(new MonsterTO {
                Id = id
            });
            var author     = new AuthorUseCase(mocqRepo.Object);
            var controller = new ManualController(author);
            var newPost    = new FormCollection(new Dictionary <string, StringValues>
            {
                { "Id", new  StringValues(id.ToString()) },
                { "Title", new StringValues("Macjhinchsoe") },
                { "Name", new StringValues("Carotte") },
                { "Author", new StringValues("Régé") },
                { "Kind", new StringValues(Common.Enumerations.Type.Aberrations.ToString()) },
                { "Size", new StringValues(Size.Gargantuan.ToString()) }
            });

            var result = controller.Edit(id, newPost) as RedirectToActionResult;

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(RedirectToActionResult));
            Assert.AreEqual("Index", result.ActionName);
        }
コード例 #3
0
        public void Detail_ThrowException_InvalidId()
        {
            var mocqRepo = new Mock <IRepository <MonsterTO> >();
            var author   = new AuthorUseCase(mocqRepo.Object);

            Assert.ThrowsException <ArgumentOutOfRangeException>(() => author.GetMonster(-1));
        }
コード例 #4
0
        public void CreateOrUpdateMonster_ThrowExcepton_WhenAuthorNotInDatabase()
        {
            var mocqRepo = new Mock <IRepository <MonsterTO> >();

            mocqRepo.Setup(x => x.Upsert(It.IsAny <MonsterTO>())).Throws(new AuthorNotExistingException());
            var author  = new AuthorUseCase(mocqRepo.Object);
            var monstre = testHelper.testMonster(546);

            Assert.ThrowsException <AuthorNotExistingException>(() => author.CreateOrUpdateMonster(monstre));
        }
コード例 #5
0
        public void CreateOrUpdateMonster_ThrowExcepton_WhenMonsterTONotValid()
        {
            var mocqRepo = new Mock <IRepository <MonsterTO> >();

            mocqRepo.Setup(x => x.Upsert(It.IsAny <MonsterTO>())).Throws(new MonsterNotValidException());
            var author  = new AuthorUseCase(mocqRepo.Object);
            var monstre = new MonsterTO();

            Assert.ThrowsException <MonsterNotValidException>(() => author.CreateOrUpdateMonster(monstre));
        }
コード例 #6
0
        public void CreateOrUpdateMonster_ThrowExcepton_IdInferiorThan0()
        {
            //Arrange
            var mocqRepo = new Mock <IRepository <MonsterTO> >();
            var author   = new AuthorUseCase(mocqRepo.Object);
            var monstre  = testHelper.testMonster(-5);


            Assert.ThrowsException <ArgumentOutOfRangeException>(() => author.CreateOrUpdateMonster(monstre));
        }
コード例 #7
0
        public void GetMonster_ThrowException_InexistentMonster()
        {
            //Arrange
            var mocqRepo = new Mock <IRepository <MonsterTO> >();

            mocqRepo.Setup(x => x.GetById(It.IsAny <int>())).Throws(new MonsterNotExistingException());
            var author = new AuthorUseCase(mocqRepo.Object);

            //Assert

            Assert.ThrowsException <MonsterNotExistingException>(() => author.GetMonster(546));
        }
コード例 #8
0
        public void Clone_Correct()
        {
            int id       = 20;
            var mocqRepo = new Mock <IRepository <MonsterTO> >();

            mocqRepo.Setup(x => x.GetById(It.IsAny <int>())).Returns(testHelper.testMonster(id));
            mocqRepo.Setup(x => x.Upsert(It.IsAny <MonsterTO>())).Returns(testHelper.testMonster(id + 1));
            var author     = new AuthorUseCase(mocqRepo.Object);
            var controller = new ManualController(author);

            var actionResult = controller.Clone(id) as RedirectToActionResult;

            Assert.AreNotEqual(typeof(MonsterTO), actionResult.GetType());
        }
コード例 #9
0
        public void CloneMonster_Correct()
        {
            int id       = 144;
            var mocqRepo = new Mock <IRepository <MonsterTO> >();

            mocqRepo.Setup(x => x.GetById(It.IsAny <int>())).Returns(testHelper.testMonster(id));
            mocqRepo.Setup(x => x.Upsert(It.IsAny <MonsterTO>())).Returns(testHelper.testMonster(id + 1));

            var author = new AuthorUseCase(mocqRepo.Object);
            //Act
            var result = author.CloneMonster(id);

            //Assert
            Assert.AreNotEqual(id, result.Id);
        }
コード例 #10
0
        public void CreateOrUpdateMonster_Create_WhenIdEquals0()
        {
            //Arrange
            var mocqRepo = new Mock <IRepository <MonsterTO> >();

            mocqRepo.Setup(x => x.Upsert(It.IsAny <MonsterTO>())).Returns(testHelper.testMonster(59));
            var author  = new AuthorUseCase(mocqRepo.Object);
            var monstre = testHelper.testMonster(0);

            //Act
            var result = author.CreateOrUpdateMonster(monstre);

            //Assert
            Assert.IsNotNull(result);
            mocqRepo.Verify(m => m.Upsert(monstre), Times.Once());
        }
コード例 #11
0
        public void DeleteMonster_Correct()
        {
            int id       = 161;
            var mocqRepo = new Mock <IRepository <MonsterTO> >();

            mocqRepo.Setup(x => x.Upsert(It.IsAny <MonsterTO>())).Returns(testHelper.testMonster(id));
            var author  = new AuthorUseCase(mocqRepo.Object);
            var monstre = testHelper.testMonster(id);

            //Act
            var result = author.CreateOrUpdateMonster(monstre);

            //Assert
            Assert.AreEqual(id, monstre.Id);
            mocqRepo.Verify((m => m.Upsert(monstre)), Times.Once());
        }
コード例 #12
0
        public void CreateOrUpdateMonster_Update_WhenIdIsStrictlySuperior0AndInDatabase()
        {
            var id       = 543;
            var mocqRepo = new Mock <IRepository <MonsterTO> >();

            mocqRepo.Setup(x => x.Upsert(It.IsAny <MonsterTO>())).Returns(new MonsterTO {
                Id = id
            });
            var author  = new AuthorUseCase(mocqRepo.Object);
            var monstre = testHelper.testMonster(id);

            //Act
            var result = author.CreateOrUpdateMonster(monstre);

            //Assert
            Assert.AreEqual(id, result.Id);
            mocqRepo.Verify((m => m.Upsert(monstre)), Times.Once());
        }
コード例 #13
0
        public void GetMonster_ReturnMonster_WhenValid()
        {
            //Arrange
            var id       = 42;
            var mocqRepo = new Mock <IRepository <MonsterTO> >();

            mocqRepo.Setup(x => x.GetById(It.IsAny <int>())).Returns(testHelper.testMonster(id));
            var author = new AuthorUseCase(mocqRepo.Object);

            //Act
            var result = author.GetMonster(id);

            //Assert

            Assert.IsNotNull(result);
            Assert.AreEqual(id, result.Id);
            mocqRepo.Verify(m => m.GetById(id), Times.Once());
        }
コード例 #14
0
        public void Edit_Correct()
        {
            var id       = 108;
            var mocqRepo = new Mock <IRepository <MonsterTO> >();

            mocqRepo.Setup(x => x.GetById(It.IsAny <int>())).Returns(testHelper.testMonster(id));
            mocqRepo.Setup(x => x.Upsert(It.IsAny <MonsterTO>())).Returns(new MonsterTO {
                Id = id
            });
            var monstre    = testHelper.testMonster(id);
            var author     = new AuthorUseCase(mocqRepo.Object);
            var controller = new ManualController(author);

            var actionResult = controller.Edit(id) as ViewResult;
            var data         = actionResult.Model as MonsterTO;

            Assert.AreEqual(id, data.Id);
        }
コード例 #15
0
        public void Detail_Correct()
        {
            //Arrange
            var id       = 5;
            var mocqRepo = new Mock <IRepository <MonsterTO> >();

            mocqRepo.Setup(x => x.GetById(It.IsAny <int>())).Returns(testHelper.testMonster(id));
            var author     = new AuthorUseCase(mocqRepo.Object);
            var controller = new ManualController(author);

            //Act
            var actionResult = controller.Details(id) as ViewResult;
            var data         = actionResult.Model as MonsterTO;

            //Assert
            Assert.AreEqual(typeof(MonsterTO), actionResult.Model.GetType());
            Assert.AreEqual(id, data.Id);
        }
コード例 #16
0
        public void Index_Correct()
        {
            //Arrange
            var mocqRepo = new Mock <IRepository <MonsterTO> >();

            mocqRepo.Setup(x => x.GetAll()).Returns(new List <MonsterTO> {
                testHelper.testMonster(1), testHelper.testMonster(2)
            });
            var author     = new AuthorUseCase(mocqRepo.Object);
            var controller = new ManualController(author);

            // Act
            var actionResult = controller.Index() as ViewResult;
            var data         = actionResult.Model as List <MonsterTO>;

            //Assert
            Assert.AreEqual(2, data.Count());
            Assert.AreEqual(typeof(List <MonsterTO>), data.GetType());
        }
コード例 #17
0
        public void Create_Correct()
        {
            //Arrange
            var mocqRepo = new Mock <IRepository <MonsterTO> >();

            mocqRepo.Setup(x => x.Upsert(It.IsAny <MonsterTO>())).Returns(testHelper.testMonster(36));
            var author     = new AuthorUseCase(mocqRepo.Object);
            var controller = new ManualController(author);
            var monstre    = testHelper.testMonster(0);

            //Act
            var result = controller.Create();

            //Assert
            Assert.IsNotNull(result);


            //Fait TOUT SEUL COMME UN GRAND
        }
コード例 #18
0
 public ManualController(AuthorUseCase author)
 {
     this.author = author ?? throw new ArgumentNullException(nameof(author));
 }