private async Task <Guid> CreateTestFlowAsync() { string testName = SharedConsoleFlows.AskForString("What is the name of the test?"); byte numberOfVersions = SharedConsoleFlows.AskForByte("How many versions are there?"); byte minimumGrade = SharedConsoleFlows.AskForByte("What is the minimum grade?"); byte standardizationFactor = SharedConsoleFlows.AskForByte("What is the standardization factor?"); var createTestRequest = new CreateTestRequest() { Name = testName, MinimumGrade = minimumGrade, StandardizationFactor = standardizationFactor, NumberOfVersions = numberOfVersions }; CreateTestResult createTestResponse = await _testController.CreateTestAsync(createTestRequest); Guid testId = createTestResponse.TestId; if (createTestResponse.ValidationMessages.Any()) { SharedConsoleFlows.PrintValidationMessages(createTestResponse.ValidationMessages); testId = await CreateTestFlowAsync(); } return(testId); }
public async Task CreateTestAsync_WithValidationMessages_ReturnsValidationMessages() { var input = CreateDefaultTestRequest(); var expectedValidationMessages = _fixture.CreateMany <ValidationMessage>(); _testValidator .Setup(x => x.ValidateRules(input)) .Returns(expectedValidationMessages); CreateTestResult result = await _sut.CreateTestAsync(input); result.Should().NotBeNull(); result.ValidationMessages.Should().BeEquivalentTo(expectedValidationMessages); }
public async Task CreateTestAsync_WithValidRequest_CreatesClass() { CreateTestRequest input = CreateDefaultTestRequest(); var validationMessages = _fixture.CreateMany <ValidationMessage>(0); _testValidator .Setup(x => x.ValidateRules(input)) .Returns(validationMessages); CreateTestResult result = await _sut.CreateTestAsync(input); result.TestId.Should().NotBeEmpty(); result.ValidationMessages.Should().BeEmpty(); _testRepository .Verify(x => x.CreateAsync(It.Is <Test>(x => x.Name.Value == input.Name))); }