예제 #1
0
        public async Task GetBySubjectAndTermAsync_ShouldReturnErrorWhenDenyInAccess()
        {
            // ARRANGE
            var mockCurriculum = new Mock <ICurriculumQuery>();

            mockCurriculum.Setup(c => c.GetNameById(It.IsAny <int>()))
            .ReturnsAsync(new SPGetName {
                Name = "Some name"
            });
            mockCurriculum.Setup(c => c.CheckStudentBySubjectAndTerm(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <byte>()))
            .ReturnsAsync(new SPBoolResult {
                Result = false
            });

            var mockRaspredelenie = new Mock <IRaspredelenieQuery>();

            mockRaspredelenie.Setup(r => r.CheckTeacherBySubjectAndTerm(It.IsAny <short>(), It.IsAny <int>(), It.IsAny <byte>()))
            .ReturnsAsync(new SPBoolResult {
                Result = false
            });

            var mockContextFactory = SetupContextFactory(null, mockCurriculum.Object, mockRaspredelenie.Object);

            var mockFileService = new Mock <IFileService <UmkFilesConfiguration> >();

            _sut = new UmkFileService(mockContextFactory.Object, _mapper, mockFileService.Object);
            var request = new GetBySubjectAndTermRequest(1, 1);

            // ACT
            var actual = await _sut.GetBySubjectAndTermAsync(request);

            // ASSERT
            Assert.Equal("Отказ в доступе", actual.Error.Message);
        }
예제 #2
0
        public async Task GetBySubjectAndTermAsync_ShouldReturnErrorWhenExceptionInUmkQuery()
        {
            // ARRANGE
            var mockCurriculum = new Mock <ICurriculumQuery>();

            mockCurriculum.Setup(c => c.GetNameById(It.IsAny <int>()))
            .ThrowsAsync(new Exception("Mock exception"));

            var mockRaspredelenie = new Mock <IRaspredelenieQuery>();

            mockRaspredelenie.Setup(r => r.CheckTeacherBySubjectAndTerm(It.IsAny <short>(), It.IsAny <int>(), It.IsAny <byte>()))
            .ReturnsAsync(new SPBoolResult {
                Result = true
            });

            var mockContextFactory = SetupContextFactory(null, mockCurriculum.Object, mockRaspredelenie.Object);

            var mockFileService = new Mock <IFileService <UmkFilesConfiguration> >();

            _sut = new UmkFileService(mockContextFactory.Object, _mapper, mockFileService.Object);
            var request = new GetBySubjectAndTermRequest(1, 1);

            // ACT
            var actual = await _sut.GetBySubjectAndTermAsync(request);

            // ASSERT
            Assert.Equal("Mock exception", actual.Error.Message);
        }
예제 #3
0
        public async Task GetBySubjectAndTermAsync_ShouldReturnListToTeacher()
        {
            // ARRANGE
            var expected = new GetBySubjectAndTermResponse(new List <UmkFile>(), "SubjectName1");

            var mockCurriculum = new Mock <ICurriculumQuery>();

            mockCurriculum.Setup(c => c.GetNameById(It.IsAny <int>()))
            .ReturnsAsync(new SPGetName {
                Name = expected.SubjectName
            });

            var mockRaspredelenie = new Mock <IRaspredelenieQuery>();

            mockRaspredelenie.Setup(r => r.CheckTeacherBySubjectAndTerm(It.IsAny <short>(), It.IsAny <int>(), It.IsAny <byte>()))
            .ReturnsAsync(new SPBoolResult {
                Result = true
            });

            var mockContextFactory = SetupContextFactory(null, mockCurriculum.Object, mockRaspredelenie.Object);

            var mockFileService = new Mock <IFileService <UmkFilesConfiguration> >();

            _sut = new UmkFileService(mockContextFactory.Object, _mapper, mockFileService.Object);
            var request = new GetBySubjectAndTermRequest(1, 1);

            // ACT
            var actual = await _sut.GetBySubjectAndTermAsync(request);

            // ASSERT
            Assert.Equal(2, actual.Entity.UmkFiles.Count);
            Assert.Equal(ComparableObject.Convert(expected.SubjectName), ComparableObject.Convert(actual.Entity.SubjectName));
        }