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... }
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); }