public async Task CreateFigure_400_ModelIsEmpty() { //Arrange Mock <IGeometryService> serviceMock = new Mock <IGeometryService>(); JsonElement element = JsonDocument.Parse("{}").RootElement; //Act GeometryController controller = GetGeometryController(serviceMock.Object); //Assert var result = await controller.CreateFigure(element, CancellationToken.None); var resultAsType = result as BadRequestObjectResult; var valueAsType = resultAsType?.Value as ProblemDetails; Assert.NotNull(valueAsType); }
public async Task CreateFigure_500_ServerError() { //Arrange Mock <IGeometryService> serviceMock = new Mock <IGeometryService>(); serviceMock.Setup(x => x.SaveFigureAsync(It.IsAny <FigureBase>(), It.IsAny <CancellationToken>())) .ThrowsAsync(new NotImplementedException()); JsonElement element = JsonDocument.Parse("{\"figureType\":\"circle\", \"data\":{\"Radius\":1}}").RootElement; //Act GeometryController controller = GetGeometryController(serviceMock.Object); //Assert var result = await controller.CreateFigure(element, CancellationToken.None); var resultAsType = result as ObjectResult; Assert.NotNull(resultAsType); Assert.AreEqual(StatusCodes.Status500InternalServerError, resultAsType.StatusCode); }
public async Task CreateFigure_400_BusinessValidationError() { //Arrange Mock <IGeometryService> serviceMock = new Mock <IGeometryService>(); serviceMock.Setup(x => x.SaveFigureAsync(It.IsAny <FigureBase>(), It.IsAny <CancellationToken>())) .ThrowsAsync(new BusinessValidationException("ошибка", "ошибка")); JsonElement element = JsonDocument.Parse("{\"Test\":123}").RootElement; //Act GeometryController controller = GetGeometryController(serviceMock.Object); //Assert var result = await controller.CreateFigure(element, CancellationToken.None); var resultAsType = result as BadRequestObjectResult; var valueAsType = resultAsType?.Value as ProblemDetails; Assert.NotNull(valueAsType); }
public async Task CreateFigure_Success() { //Arrange Mock <IGeometryService> serviceMock = new Mock <IGeometryService>(); serviceMock.Setup(x => x.SaveFigureAsync(It.IsAny <FigureBase>(), It.IsAny <CancellationToken>())).ReturnsAsync(1); JsonElement element = JsonDocument.Parse("{\"figureType\":\"circle\", \"data\":{\"Radius\":1}}").RootElement; //Act GeometryController controller = GetGeometryController(serviceMock.Object); TestModel model = new TestModel(); //Assert var result = await controller.CreateFigure(element, CancellationToken.None); var resultAsType = result as ObjectResult; Assert.AreEqual(StatusCodes.Status201Created, resultAsType.StatusCode); Assert.IsNotNull(resultAsType); Assert.IsNotNull(resultAsType.Value); Assert.AreEqual("1", resultAsType.Value.ToString()); }