Exemple #1
0
        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);
        }
Exemple #3
0
 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();
 }
Exemple #5
0
        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));
        }
Exemple #6
0
        public void Map_ShouldReturnGrade_WhenArgumentsAreGradeDtoAndGrade()
        {
            // Arrange
            var grade = GradeTestUtils.GetInitialStateGrade();
            // Act
            var result = this.gradeMapper.Map(this.gradeDto, grade);

            // Assert
            result.Should().BeEquivalentTo(grade);
        }
Exemple #7
0
        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));
        }
Exemple #10
0
        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);
        }