Exemple #1
0
        public async Task AsyncWhenCreateALessonStudentWhenLessonIsNotFound()
        {
            var mockLessonStudentRepository = GetDefaultILessonStudentRepositoryInstance();
            var mockLessonRepository        = GetDefaultILessonRepositoryInstance();
            var mockStudentRepository       = GetDefaultIStudentRepositoryInstance();
            var mockUnitOfWork = GetDefaultIUnitOfWorkInstance();


            LessonStudent lessonStudent = new LessonStudent();

            lessonStudent.StudentId = 104;


            //STUDENT
            Student student = new Student();

            student.Id            = 104;
            lessonStudent.Student = student;
            mockStudentRepository.Setup(r => r.FindById(student.Id))
            .Returns(Task.FromResult <Student>(student));
            mockLessonStudentRepository.Setup(r => r.FindById(lessonStudent.LessonId, lessonStudent.StudentId))
            .Returns(Task.FromResult <LessonStudent>(lessonStudent));
            mockLessonStudentRepository.Setup(r => r.AddAsync(lessonStudent))
            .Returns(Task.FromResult <LessonStudent>(lessonStudent));

            var service = new LessonStudentService(mockLessonStudentRepository.Object, mockUnitOfWork.Object, mockLessonRepository.Object, mockStudentRepository.Object);
            LessonStudentResponse result = await service.SaveAsync(lessonStudent);

            var message = result.Message;

            message.Should().Be("Lesson not found");
        }
Exemple #2
0
        public async Task AsyncWhenCreateALessonStudentGivenAnStudentThatIsAlreadyThere()
        {
            var mockLessonStudentRepository = GetDefaultILessonStudentRepositoryInstance();
            var mockLessonRepository        = GetDefaultILessonRepositoryInstance();
            var mockStudentRepository       = GetDefaultIStudentRepositoryInstance();
            var mockUnitOfWork = GetDefaultIUnitOfWorkInstance();



            //LESSON TYPE
            LessonType lessonType = new LessonType();

            lessonType.Id               = 1;
            lessonType.Lessons          = new List <Lesson>();
            lessonType.StudentsQuantity = 2;

            //LESSON
            Lesson lesson = new Lesson();

            lesson.Id           = 1;
            lesson.Vacants      = 2;
            lesson.LessonType   = lessonType;
            lesson.LessonTypeId = lessonType.Id;


            lessonType.Lessons.Add(lesson);

            LessonStudent lessonStudent = new LessonStudent();

            lessonStudent.LessonId  = 1;
            lessonStudent.StudentId = 104;


            //STUDENT
            Student student = new Student();

            student.Id            = 104;
            lessonStudent.Lesson  = lesson;
            lessonStudent.Student = student;



            mockStudentRepository.Setup(r => r.FindById(student.Id))
            .Returns(Task.FromResult <Student>(student));
            mockLessonRepository.Setup(r => r.FindById(lesson.Id))
            .Returns(Task.FromResult <Lesson>(lesson));
            mockLessonStudentRepository.Setup(r => r.FindById(lessonStudent.LessonId, lessonStudent.StudentId))
            .Returns(Task.FromResult <LessonStudent>(lessonStudent));
            mockLessonStudentRepository.Setup(r => r.AddAsync(lessonStudent))
            .Returns(Task.FromResult <LessonStudent>(lessonStudent));
            mockLessonStudentRepository.Setup(r => r.ExistsByLessonIdAndStudentId(lessonStudent.LessonId, lessonStudent.StudentId))
            .Returns(Task.FromResult <LessonStudent>(lessonStudent));
            var service = new LessonStudentService(mockLessonStudentRepository.Object, mockUnitOfWork.Object, mockLessonRepository.Object, mockStudentRepository.Object);
            LessonStudentResponse result = await service.SaveAsync(lessonStudent);

            var message = result.Message;

            message.Should().Be("You are already part of this lesson");
        }
Exemple #3
0
        public async Task AsyncWhenCreateALessonStudentWhenStudentIsNotFound()
        {
            var mockLessonStudentRepository = GetDefaultILessonStudentRepositoryInstance();
            var mockLessonRepository        = GetDefaultILessonRepositoryInstance();
            var mockStudentRepository       = GetDefaultIStudentRepositoryInstance();
            var mockUnitOfWork = GetDefaultIUnitOfWorkInstance();


            //LESSON TYPE
            LessonType lessonType = new LessonType();

            lessonType.Id               = 1;
            lessonType.Lessons          = new List <Lesson>();
            lessonType.StudentsQuantity = 2;

            //LESSON
            Lesson lesson = new Lesson();

            lesson.Id           = 1;
            lesson.Vacants      = 2;
            lesson.LessonType   = lessonType;
            lesson.LessonTypeId = lessonType.Id;


            lessonType.Lessons.Add(lesson);

            LessonStudent lessonStudent = new LessonStudent();

            lessonStudent.LessonId  = 1;
            lessonStudent.StudentId = 104;


            mockLessonRepository.Setup(r => r.FindById(lesson.Id))
            .Returns(Task.FromResult <Lesson>(lesson));
            mockLessonStudentRepository.Setup(r => r.FindById(lessonStudent.LessonId, lessonStudent.StudentId))
            .Returns(Task.FromResult <LessonStudent>(lessonStudent));
            mockLessonStudentRepository.Setup(r => r.AddAsync(lessonStudent))
            .Returns(Task.FromResult <LessonStudent>(lessonStudent));

            var service = new LessonStudentService(mockLessonStudentRepository.Object, mockUnitOfWork.Object, mockLessonRepository.Object, mockStudentRepository.Object);
            LessonStudentResponse result = await service.SaveAsync(lessonStudent);

            var message = result.Message;

            message.Should().Be("Student not found");
        }
Exemple #4
0
        public async Task WhenTheStudentSignsUpForTheSecondTimeForThisLesson()
        {
            _lessonStudent = new LessonStudent();

            _lessonStudent.StudentId = _student.Id;
            _lessonStudent.Student   = _student;
            _lessonStudent.LessonId  = _lesson.Id;
            _lessonStudent.Lesson    = _lesson;
            _lessonStudentRepository = new Mock <ILessonStudentRepository>();


            _lessonStudentRepository.Setup(r => r.ExistsByLessonIdAndStudentId(_lessonStudent.LessonId, _lessonStudent.StudentId))
            .Returns(Task.FromResult <LessonStudent>(_lessonStudent));

            _lessonStudentService = new LessonStudentService(_lessonStudentRepository.Object, GetDefaultIUnitOfWorkInstance().Object,
                                                             _lessonRepository.Object, _studentRepository.Object);

            _secondResponse = await _lessonStudentService.SaveAsync(_lessonStudent);
        }
Exemple #5
0
        public async Task WhenTheStudentSignsUpForTheALessonThatIsFull()
        {
            _lessonStudent = new LessonStudent();

            _lessonStudent.StudentId = _student.Id;
            _lessonStudent.Student   = _student;
            _lessonStudent.LessonId  = _lesson.Id;
            _lessonStudent.Lesson    = _lesson;
            _lessonStudentRepository = new Mock <ILessonStudentRepository>();
            _lesson.Contador         = 2;
            _lessonRepository        = new Mock <ILessonRepository>();

            _lessonRepository.Setup(r => r.FindById(_lesson.Id))
            .Returns(Task.FromResult <Lesson>(_lesson));


            _lessonStudentService = new LessonStudentService(_lessonStudentRepository.Object, GetDefaultIUnitOfWorkInstance().Object,
                                                             _lessonRepository.Object, _studentRepository.Object);

            _thirdResponse = await _lessonStudentService.SaveAsync(_lessonStudent);
        }