示例#1
0
        public void Arrange()
        {
            _expectedCourses = new List <Course>
            {
                new Course(new Domain.Entities.Course
                {
                    CourseId = "1",
                    Title    = "Course 1",
                    Level    = 1
                }),
                new Course(new Domain.Entities.Course
                {
                    CourseId = "2",
                    Title    = "Course 2",
                    Level    = 2
                }),
                new Course(new Domain.Entities.Course
                {
                    CourseId = "3",
                    Title    = "Course 3",
                    Level    = 3
                })
            };

            _service = new Mock <ICourseService>();
            _service.Setup(s => s.GetCourses()).ReturnsAsync(_expectedCourses);

            _query   = new GetCoursesQuery();
            _handler = new GetCoursesQueryHandler(_service.Object);
        }
示例#2
0
        public async Task Then_The_Service_Is_Called_And_The_Data_Returned(
            GetCoursesQuery request,
            TrainingCourses courseResponse,
            [Frozen] Mock <ICourseService> mockService,
            GetCoursesQueryHandler handler)
        {
            //Arrange
            request.Keyword         = null;
            request.RouteIds        = null;
            request.Levels          = null;
            request.ShortlistUserId = null;
            mockService.Setup(x => x.GetCourses(null, null, null, OrderBy.None, null)).ReturnsAsync(courseResponse);

            //Act
            var actual = await handler.Handle(request, CancellationToken.None);

            //Assert
            mockService.Verify(x => x.GetCourses(null, null, null, OrderBy.None, null), Times.Once);
            Assert.IsNotNull(actual);
            actual.Courses.Should().BeEquivalentTo(courseResponse.Courses);
            actual.Sectors.Should().BeEquivalentTo(courseResponse.Sectors);
            actual.TotalFiltered.Should().Be(courseResponse.TotalFiltered);
            actual.Total.Should().Be(courseResponse.Total);
            actual.ShortlistItemCount.Should().Be(courseResponse.ShortlistItemCount);
        }
        public async Task GetCoursesQueryTest()
        {
            var handler = new GetCoursesQueryHandler(_context);

            var result = await handler.Handle(new GetCoursesQuery { PageNumber = 1, PageSize = 50 }, CancellationToken.None);

            Assert.IsType <PagedResult <CoursePreviewDto> >(result);
            Assert.Equal(_context.Courses.Count(), result.Results.Count);
        }
        public void Arrange()
        {
            _expectedCourses = new List <Course>
            {
                new Course("1", "Course 1", 1),
                new Course("2", "Course 2", 2),
                new Course("3", "Course 3", 3)
            };

            _service = new Mock <ICourseService>();
            _service.Setup(s => s.GetCourses()).ReturnsAsync(_expectedCourses);

            _handler = new GetCoursesQueryHandler(_service.Object);
        }
示例#5
0
        public async Task Then_Gets_Courses_From_Service(
            GetCoursesQuery query,
            CourseList coursesFromService,
            [Frozen] Mock <ICourseService> mockService,
            GetCoursesQueryHandler handler)
        {
            mockService
            .Setup(service => service.GetCourses())
            .ReturnsAsync(coursesFromService);

            var result = await handler.Handle(query, CancellationToken.None);

            result.Courses.Should().BeEquivalentTo(coursesFromService.Courses);
        }
示例#6
0
        public async Task Then_Keywords_And_Levels_And_Sectors_Are_Passed_To_The_Service(
            GetCoursesQuery request,
            TrainingCourses courseResponse,
            [Frozen] Mock <ICourseService> mockService,
            GetCoursesQueryHandler handler)
        {
            //Arrange
            mockService.Setup(x => x.GetCourses(request.Keyword, request.RouteIds, request.Levels, OrderBy.None, request.ShortlistUserId)).ReturnsAsync(courseResponse);

            //Act
            var actual = await handler.Handle(request, CancellationToken.None);

            //Assert
            mockService.Verify(x => x.GetCourses(request.Keyword, request.RouteIds, request.Levels, OrderBy.None, request.ShortlistUserId), Times.Once);
            Assert.IsNotNull(actual);
        }
示例#7
0
        public async Task Should_return_filter_courses()
        {
            var createCourseCommand = new CreateCourseCommand()
            {
                Id          = Guid.NewGuid(),
                Code        = 10,
                Name        = "Course 1",
                Description = "Test"
            };

            var createCourseCommandHandler = new CreateCourseCommandHandler(this.autoMapper, this.context);

            var result = await createCourseCommandHandler.Handle(createCourseCommand, CancellationToken.None);

            result.ShouldBe(true);

            createCourseCommand.Id   = Guid.NewGuid();
            createCourseCommand.Code = 2;
            createCourseCommand.Name = "Test 2";

            result = await createCourseCommandHandler.Handle(createCourseCommand, CancellationToken.None);

            result.ShouldBe(true);

            var getCoursesQuery = new GetCoursesQuery()
            {
                FilterByName = "est"
            };
            var getCoursesQueryHandler = new GetCoursesQueryHandler(this.autoMapper, this.context);

            var list = await getCoursesQueryHandler.Handle(getCoursesQuery, CancellationToken.None);

            list.Where(c => c.Code == createCourseCommand.Code).Count().ShouldBe(1);

            getCoursesQuery = new GetCoursesQuery()
            {
                FilterByName = ""
            };
            getCoursesQueryHandler = new GetCoursesQueryHandler(this.autoMapper, this.context);

            list = await getCoursesQueryHandler.Handle(getCoursesQuery, CancellationToken.None);

            list.Where(c => c.Code == 10 || c.Code == 2).Count().ShouldBe(2);
        }
示例#8
0
 public GetCoursesQueryTests()
 {
     repositorySpy = new CourseDtoRepositorySpy();
     handler       = new GetCoursesQueryHandler(repositorySpy);
 }