public void CompileTestScenario_GivenResultFailedThrowsInvalidOperationException() { //Arrange const string specificationId = "test-spec"; ScenarioCompileViewModel viewModel = new ScenarioCompileViewModel(); ScenarioCompileModel compileModel = new ScenarioCompileModel(); IMapper mapper = CreateMapper(); mapper .Map <ScenarioCompileModel>(Arg.Is(viewModel)) .Returns(compileModel); ApiResponse <IEnumerable <ScenarioCompileError> > result = new ApiResponse <IEnumerable <ScenarioCompileError> >(HttpStatusCode.BadRequest); ITestEngineApiClient apiClient = CreateApiClient(); apiClient .CompileScenario(Arg.Is(compileModel)) .Returns(result); TestEngineController controller = CreateController(mapper: mapper, testEngineApiClient: apiClient); //Act Func <Task> test = async() => await controller.CompileTestScenario(specificationId, viewModel); //Assert test .Should() .ThrowExactly <InvalidOperationException>(); }
public async Task CompileTestScenario_GivenResultFromApiIsOK_ReturnsOKObjectResult() { //Arrange const string specificationId = "test-spec"; ScenarioCompileViewModel viewModel = new ScenarioCompileViewModel(); ScenarioCompileModel compileModel = new ScenarioCompileModel(); IMapper mapper = CreateMapper(); mapper .Map <ScenarioCompileModel>(Arg.Is(viewModel)) .Returns(compileModel); ApiResponse <IEnumerable <ScenarioCompileError> > result = new ApiResponse <IEnumerable <ScenarioCompileError> >(HttpStatusCode.OK); ITestEngineApiClient apiClient = CreateApiClient(); apiClient .CompileScenario(Arg.Is(compileModel)) .Returns(result); TestEngineController controller = CreateController(mapper: mapper, testEngineApiClient: apiClient); //Act IActionResult actionResult = await controller.CompileTestScenario(specificationId, viewModel); //Assert actionResult .Should() .BeAssignableTo <OkObjectResult>(); }
public void CompileTestScenario_GivenNullViewModel_ThrowsArgumentException() { //Arrange const string specificationId = "test-spec"; TestEngineController controller = CreateController(); //Act Func <Task> test = async() => await controller.CompileTestScenario(specificationId, null); //Assert test .Should() .ThrowExactly <ArgumentNullException>(); }
public async Task CompileTestScenario_GivenInvalidModelState_ReturnsBadRequest() { //Arrange const string specificationId = "test-spec"; ScenarioCompileViewModel viewModel = new ScenarioCompileViewModel(); TestEngineController controller = CreateController(); PageContext pageContext = new PageContext(); controller .ModelState .AddModelError("error", "an error"); //Act IActionResult result = await controller.CompileTestScenario(specificationId, viewModel); //Assert result .Should() .BeOfType <BadRequestObjectResult>(); }