コード例 #1
0
        public async Task GetAsync_GetAllAppointments_ReturnsAllAppointments()
        {
            // Arrange
            var paginationQuery  = _fixture.Create <PaginationQuery>();
            var paginationFilter = _fixture.Create <PaginationFilter>();
            var filterQuery      = _fixture.Create <AppointmentsFiltrationQuery>();
            var filter           = _fixture.Create <AppointmentsFilter>();
            var appointments     = _fixture.CreateMany <Appointment>(5).ToList();
            var appointmentsDto  = _fixture.CreateMany <AppointmentDto>(5).ToList();

            _autoMapper
            .Setup(m => m.Map <PaginationFilter>(paginationQuery))
            .Returns(paginationFilter);
            _autoMapper
            .Setup(m => m.Map <AppointmentsFilter>(filterQuery))
            .Returns(filter);
            _appointmentService
            .Setup(a => a.GetAllAppointmentsAsync(filter, paginationFilter))
            .ReturnsAsync(appointments);
            _autoMapper
            .Setup(m => m.Map <IEnumerable <AppointmentDto> >(appointments))
            .Returns(appointmentsDto);

            // Act
            var actual = await _appointmentsController.GetAsync(
                filterQuery,
                paginationQuery);

            // Assert
            var okObjectResult = Assert.IsType <OkObjectResult>(actual);

            Assert.Equal(appointmentsDto, ((PagedResponse <AppointmentDto>)okObjectResult.Value).Data);
        }