示例#1
0
        public void MoneyConvertor_WithValidModel_ShouldReturnOkObjectResult()
        {
            //Arrange
            var mockUrlLogic = new Mock <IMoneyConvertor>();
            var controller   = new MoneyConvertorController(mockUrlLogic.Object);
            var model        = new MoneyConvertorModel();

            //Act
            IActionResult actionResult = controller.MoneyConvertor(model);

            //Assert
            Assert.IsInstanceOf <OkObjectResult>(actionResult);
        }
示例#2
0
        public void MoneyConvertor_WithInvalidModel_ShouldReturnBadRequestObjectResult()
        {
            //Arrange
            var mockUrlLogic = new Mock <IMoneyConvertor>();
            var controller   = new MoneyConvertorController(mockUrlLogic.Object);

            controller.ModelState.AddModelError("", "");
            var model = new MoneyConvertorModel()
            {
                Money = 1
            };

            //Act
            IActionResult actionResult = controller.MoneyConvertor(model);

            //Assert
            Assert.IsInstanceOf <BadRequestObjectResult>(actionResult);
        }
示例#3
0
        public void MoneyConvertor_WithValidModel_ShouldCallLogic()
        {
            //Arrange
            var mockUrlLogic = new Mock <IMoneyConvertor>();
            var controller   = new MoneyConvertorController(mockUrlLogic.Object);
            var model        = new MoneyConvertorModel()
            {
                Money = 1
            };

            //Act
            IActionResult actionResult = controller.MoneyConvertor(model);

            //Assert
            mockUrlLogic.Verify(
                x =>
                x.BuildMoneyString(It.IsAny <MoneyConvertorModel>()),
                "A valid model should call the logic");
        }
示例#4
0
        public void MoneyConvertor_WithInvalidModel_ShouldNotCallLogic()
        {
            //Arrange
            var mockUrlLogic = new Mock <IMoneyConvertor>();
            var controller   = new MoneyConvertorController(mockUrlLogic.Object);

            controller.ModelState.AddModelError("", "");
            var model = new MoneyConvertorModel()
            {
                Money = 1
            };

            //Act
            IActionResult actionResult = controller.MoneyConvertor(model);

            //Assert
            mockUrlLogic.Verify(
                x =>
                x.BuildMoneyString(It.IsAny <MoneyConvertorModel>()),
                Times.Never,
                "An Invalid model should not make call to logic");
        }