public static async System.Threading.Tasks.Task PopulateTestDatabaseAsync(ExamContext examContext) { Student student = StudentTestUtils.GetStudent(); Course course = CourseTestUtils.GetCourse(); await examContext.AddNewAsync(student); await examContext.AddNewAsync(StudentTestUtils.GetStudent2()); await examContext.AddNewAsync(course); await examContext.AddNewAsync(CourseTestUtils.GetCourse2()); await examContext.AddNewAsync(ProfessorTestUtils.GetProfessor()); await examContext.AddNewAsync(ProfessorTestUtils.GetProfessor2()); await examContext.AddNewAsync(StudentCourseTestUtils.GetStudentCourse(student.Id, course.Id)); await examContext.AddNewAsync(ExamTestUtils.GetExam()); await examContext.AddNewAsync(ClassroomTestUtils.GetClassroom()); await examContext.AddNewAsync(GradeTestUtils.GetInitialStateGrade()); await examContext.AddNewAsync(ClassroomAllocationTestUtils.GetClassroomAllocation()); await examContext.AddNewAsync(GradeTestUtils.GetGradeWithValue()); await examContext.SaveAsync(); }
public async Task GetCheckedInStudent_ShouldReturnStudentsThatCheckedInAtExam() { // Arrange Grade grade = GradeTestUtils.GetInitialStateGrade(); var grades = new List <Grade> { grade }; GradeDto gradeDto = GradeTestUtils.GetInitialGradeDto(grade.Id); Student student = StudentTestUtils.GetStudent(); _mockReadRepository.Setup(repo => repo.GetByIdAsync <Domain.Entities.Exam>(_exam.Id)).ReturnsAsync(_exam); _mockReadRepository.Setup(repo => repo.GetAll <Grade>()).Returns(grades.AsQueryable().BuildMock); _mockGradeMapper.Setup(mapper => mapper.Map(grade)).Returns(gradeDto); _mockStudentMapper.Setup(mapper => mapper.Map(student, gradeDto)) .Returns(StudentTestUtils.GetStudentFetchingGradeDto(student.Id, gradeDto)); var expectedResult = new List <StudentFetchingGradeDto> { StudentTestUtils.GetStudentFetchingGradeDto(student.Id, gradeDto) }; // Act var result = await _examService.GetCheckedInStudents(_exam.Id); // Assert result.Should().BeEquivalentTo(expectedResult); }
public void Setup() { this.grade = GradeTestUtils.GetInitialStateGrade(); this.gradeDto = GradeTestUtils.GetInitialGradeDto(grade.Id); this.gradeCreationDto = GradeTestUtils.GetGradeCreationDto(); this.gradeEditingDto = GradeTestUtils.GetGradeEditingDto(); this.gradeMapper = new GradeMapper(); }
public void Setup() { client = new CustomWebApplicationFactory <Startup>().CreateClient(); this.grade = GradeTestUtils.GetInitialStateGrade(); this.gradeDto = GradeTestUtils.GetInitialGradeDto(grade.Id); this.gradeCreationDto = GradeTestUtils.GetGradeCreationDto(); this.gradeEditingDto = GradeTestUtils.GetGradeEditingDto(); }
public void Map_ShouldReturnStudentFetchingGradeDto_WhenArgumentsAreStudentAndGradeDto() { // Arrange var gradeDto = GradeTestUtils.GetInitialGradeDto(Guid.NewGuid()); // Act var result = _studentMapper.Map(_student, gradeDto); // Assert result.Should().BeEquivalentTo(StudentTestUtils.GetStudentFetchingGradeDto(_student.Id, gradeDto)); }
public void Map_ShouldReturnGrade_WhenArgumentsAreGradeDtoAndGrade() { // Arrange var grade = GradeTestUtils.GetInitialStateGrade(); // Act var result = this.gradeMapper.Map(this.gradeDto, grade); // Assert result.Should().BeEquivalentTo(grade); }
public void Setup() { this.initialStateGrade = GradeTestUtils.GetInitialStateGrade(); this.initialStateGradeDto = GradeTestUtils.GetInitialGradeDto(initialStateGrade.Id); this.gradeCreationDto = GradeTestUtils.GetGradeCreationDto(); this.gradeEditingDto = GradeTestUtils.GetGradeEditingDto(); this._mockReadRepository = new Mock <IReadRepository>(); this._mockWriteRepository = new Mock <IWriteRepository>(); this._mockGradeMapper = new Mock <IGradeMapper>(); this._mockStudentService = new Mock <IStudentService>(); this._mockExamService = new Mock <IExamService>(); this._mockEmailService = new Mock <IEmailService>(); _gradeService = new GradeService(_mockReadRepository.Object, _mockWriteRepository.Object, _mockGradeMapper.Object, _mockStudentService.Object, _mockExamService.Object, _mockEmailService.Object); }
public async Task GetAllGradesByExam_ShouldReturnGradesForExamWithThatId() { //Arrange var gradeWithValue = GradeTestUtils.GetGradeWithValue(); List <GradeDto> gradeDtosExpected = new List <GradeDto> { GradeTestUtils.GetGradeWithValueDto(gradeWithValue.Id, gradeWithValue.Date) }; //Act var response = await client.GetAsync("api/exams/" + gradeWithValue.Exam.Id + "/grades"); //Assert response.EnsureSuccessStatusCode(); var responseString = await response.Content.ReadAsStringAsync(); List <GradeDto> gradeDtosActual = JsonConvert.DeserializeObject <List <GradeDto> >(responseString); gradeDtosActual.Should().BeEquivalentTo(gradeDtosExpected); }
public async Task GetCheckedInStudent_ShouldReturnAllStudentThatCheckedInAtExam() { // Arrange var expectedStudents = new List <StudentFetchingGradeDto> { StudentTestUtils.GetStudentFetchingGradeDto(StudentTestUtils.GetStudent().Id, GradeTestUtils.GetInitialGradeDto(GradeTestUtils.GetInitialStateGrade().Id)), StudentTestUtils.GetStudentFetchingGradeDto(StudentTestUtils.GetStudent2().Id, GradeTestUtils.GetGradeWithValueDto(GradeTestUtils.GetGradeWithValue().Id, GradeTestUtils.GetGradeWithValue().Date)) }; // Act var response = await client.GetAsync("api/exams/" + exam.Id + "/checked-in-students"); // Assert response.EnsureSuccessStatusCode(); var responseString = await response.Content.ReadAsStringAsync(); List <StudentFetchingGradeDto> actualStudents = JsonConvert.DeserializeObject <List <StudentFetchingGradeDto> >(responseString); actualStudents.Should().BeEquivalentTo(expectedStudents, options => options.Excluding(s => s.Grade.Date)); }
public async Task GetAllGradesByExam_ShouldReturnGradesForExamWithThatId() { // Arrange var gradeWithValue = GradeTestUtils.GetGradeWithValue(); var gradeWithValueDto = GradeTestUtils.GetGradeWithValueDto(gradeWithValue.Id, gradeWithValue.Date); var expectedGrades = new List <GradeDto> { gradeWithValueDto }; var grades = new List <Grade> { gradeWithValue, initialStateGrade }; var mockGradesQueryable = grades.AsQueryable().BuildMock(); _mockExamService.Setup(service => service.GetById(gradeWithValue.Exam.Id)).ReturnsAsync(initialStateGrade.Exam); _mockReadRepository.Setup(repo => repo.GetAll <Grade>()).Returns(mockGradesQueryable); _mockGradeMapper.Setup(mapper => mapper.Map(gradeWithValue)).Returns(gradeWithValueDto); _mockGradeMapper.Setup(mapper => mapper.Map(initialStateGrade)).Returns(initialStateGradeDto); // Act List <GradeDto> actualGrades = await this._gradeService.GetAllGradesByExam(gradeWithValue.Exam.Id); // Assert actualGrades.Should().BeEquivalentTo(expectedGrades); }