Exemple #1
0
        public async Task Kudos_GetKudosLog_Should_Return_View_Model()
        {
            // Arrange
            var filter = new KudosLogsFilterViewModel
            {
                Page         = 1,
                SearchUserId = "1"
            };

            IEnumerable <MainKudosLogDto> kudosLogs = new List <MainKudosLogDto>
            {
                new MainKudosLogDto
                {
                    Id = 1
                }
            };

            var entries = new KudosLogsEntriesDto <MainKudosLogDto>
            {
                KudosLogs = kudosLogs
            };

            var dto = new KudosLogsFilterDto();

            _mapper.Map <KudosLogsFilterViewModel, KudosLogsFilterDto>(filter)
            .Returns(dto);

            _kudosService.GetKudosLogsAsync(null).ReturnsForAnyArgs(entries);

            // Act
            var response = await _kudosController.GetKudosLogs(filter);

            // Assert
            Assert.IsInstanceOf <PagedViewModel <KudosLogViewModel> >(response);
        }
        public async Task <PagedViewModel <KudosLogViewModel> > GetKudosLogs([FromUri] KudosLogsFilterViewModel filter)
        {
            var filterDto = _mapper.Map <KudosLogsFilterViewModel, KudosLogsFilterDto>(filter);

            SetOrganizationAndUser(filterDto);
            var kudosLogsEntriesDto = await _kudosService.GetKudosLogsAsync(filterDto);

            var kudosLogsViewModel = _mapper.Map <IEnumerable <MainKudosLogDto>, IEnumerable <KudosLogViewModel> >(kudosLogsEntriesDto.KudosLogs);

            var pagedKudosLogs = new PagedViewModel <KudosLogViewModel>
            {
                PagedList = await kudosLogsViewModel.ToPagedListAsync(FirstPage, BusinessLayerConstants.MaxKudosLogsPerPage),
                ItemCount = kudosLogsEntriesDto.TotalKudosCount,
                PageSize  = BusinessLayerConstants.MaxKudosLogsPerPage
            };

            return(pagedKudosLogs);
        }