public async Task <IActionResult> PostExerciseTestRun([FromBody] CreateExerciseTestRunModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var exercise = await _assignmentService.GetOrCreateExerciseAsync(model.Exercise); var savedModel = await SaveTestRunForAssignment(model, exercise); return(CreatedAtAction(nameof(GetTestRun), new { id = savedModel?.Id }, savedModel)); }
public void From_ShouldIgnoreNonExisingTests() { //Assert var exercise = new ExerciseBuilder().Build(); _createExerciseTestRunModel = new CreateExerciseTestRunModelBuilder().WithRandomTestResultModels(1).Build(); //Act var result = _converter.From(_createExerciseTestRunModel.Results, null, _userId, exercise); //Assert Assert.That(result, Is.Not.Null); Assert.That(result.TestResults, Has.Count.Zero); }
public void From_ShouldConvertRunWithEmptyListOfTestResultsIfModelDoesNotContainTestResults() { //Arrange var exercise = new ExerciseBuilder().Build(); _createExerciseTestRunModel = new CreateExerciseTestRunModelBuilder().WithTestResultModels(null).Build(); //Act var testRun = _converter.From(_createExerciseTestRunModel.Results, null, _userId, exercise); //Assert Assert.That(testRun, Is.Not.Null); Assert.That(testRun.TestResults, Is.Not.Null); Assert.That(testRun.TestResults.Count, Is.Zero); }
public void From_ShouldCorrectlyConvertValidTestRunModel() { //Arrange var numberOfTests = 2; var exercise = new ExerciseBuilder().WithRandomTests(numberOfTests).Build(); _createExerciseTestRunModel = new CreateExerciseTestRunModelBuilder() .WithSourceCode() .WithRandomTestResultModelsFor(exercise.Tests) .Build(); //Act var testRun = _converter.From(_createExerciseTestRunModel.Results, _createExerciseTestRunModel.SourceCode, _userId, exercise); //Assert Assert.That(testRun, Is.Not.Null); Assert.That(testRun.UserId, Is.EqualTo(_userId)); Assert.That(testRun.AssignmentId, Is.EqualTo(exercise.Id)); Assert.That(testRun.SourceCode, Is.EqualTo(_createExerciseTestRunModel.SourceCode)); Assert.That(testRun.CreateDateTime, Is.EqualTo(DateTime.UtcNow).Within(5).Seconds); Assert.That(testRun.TestResults.Count, Is.EqualTo(numberOfTests)); for (int i = 0; i < _createExerciseTestRunModel.Results.Count(); i++) { var testResult = testRun.TestResults.ElementAt(i); var testResultModel = _createExerciseTestRunModel.Results.ElementAt(i); var test = exercise.Tests.ElementAt(i); Assert.That(testResult.TestId, Is.EqualTo(test.Id)); Assert.That(testResult.Passed, Is.EqualTo(testResultModel.Passed)); Assert.That(testResult.Message, Is.EqualTo(testResultModel.Message)); Assert.That(testResult.UserId, Is.EqualTo(_userId)); Assert.That(testResult.CreateDateTime, Is.EqualTo(DateTime.UtcNow).Within(5).Seconds); } }
public void Setup() { _converter = new TestRunConverter(); _userId = _random.NextPositive(); _createExerciseTestRunModel = new CreateExerciseTestRunModelBuilder().Build(); }