Ejemplo n.º 1
0
        public void ControllerErrorPayloadTooLargeOrSmall(int itemsToCreate)
        {
            // arrange
            var numbersToCalc = new List <double>();

            for (var i = 0; i < itemsToCreate; i++)
            {
                numbersToCalc.Add(i + 1);
            }
            var mockCalc    = new Mock <ICalculation>();
            var mockLog     = new Mock <ILogger <MathController> >();
            var mockMap     = new Mock <IMap>();
            var mockFactory = new Mock <ICalculationFactory>();

            mockFactory.Setup(x => x.Build(It.IsAny <CalculationType>())).Returns(mockCalc.Object);

            var mathController = new MathController(mockFactory.Object, mockMap.Object, mockLog.Object);

            // act
            var result = mathController.Post(new CalculationRequest {
                CalculationType = CalculationType.Add, Numbers = numbersToCalc
            });
            var objectResult = (ObjectResult)result.Result;

            // assert
            objectResult.StatusCode.Should().Be(400);
            // additional asserts to check text...
        }
Ejemplo n.º 2
0
        public void UnknownError()
        {
            // arrange
            var mockCalc    = new Mock <ICalculation>();
            var mockLog     = new Mock <ILogger <MathController> >();
            var mockMap     = new Mock <IMap>();
            var mockFactory = new Mock <ICalculationFactory>();

            mockFactory.Setup(x => x.Build(It.IsAny <CalculationType>())).Throws(new NullReferenceException());

            var mathController = new MathController(mockFactory.Object, mockMap.Object, mockLog.Object);

            // act
            var result = mathController.Post(new CalculationRequest {
                CalculationType = CalculationType.Add, Numbers = new List <double> {
                    1, 2, 3, 4, 5
                }
            });
            var objectResult = (ObjectResult)result.Result;

            // assert
            objectResult.StatusCode.Should().Be(500);
        }