public async Task <DefaultResult <List <CharacterResponse> > > GetAsync(CharacterRequestFilter filters) { var defaultResult = new DefaultResult <List <CharacterResponse> >(); var baseFilter = filters.GetFilterDefinition(); defaultResult.SetData((await _characterRepository.GetAsync(baseFilter)).Select(x => (CharacterResponse)x).ToList()); return(defaultResult); }
public async Task CharacterService_Get(CharacterRequestFilter filters) { #region LoadData var character1 = new Character( "id1", "name1", null, null, new House("id1", "name1", "mascot", "hof", "hog", "founder"), null, new System.DateTime(), new System.DateTime() ); var character2 = new Character( "id2", "name2", "role", "school", new House("id2", "name2", "mascot", "hof", "hog", "founder"), null, new System.DateTime(), new System.DateTime() ); var character3 = new Character( "id3", "name3", "role", "school", null, null, new System.DateTime(), new System.DateTime() ); var character4 = new Character( "id4", "name4", null, "school", null, null, new System.DateTime(), new System.DateTime() ); List <Character> characterList = new List <Character>() { character1, character2, character3, character4 }; var filterDefinition = filters.GetFilterDefinition(); _characterRepositoryMock .Setup(x => x.GetAsync(filterDefinition, It.IsAny <System.Threading.CancellationToken>())) .Returns(Task.FromResult((IEnumerable <Character>)characterList)); #endregion var getResult = await _characterService.GetAsync(filters); if (!string.IsNullOrEmpty(filters.Id)) { characterList = characterList.Where(x => x.Id == filters.Id).ToList(); } if (!string.IsNullOrEmpty(filters.Name)) { characterList = characterList.Where(x => x.Name == filters.Name).ToList(); } if (!string.IsNullOrEmpty(filters.Role)) { characterList = characterList.Where(x => x.Role == filters.Role).ToList(); } if (!string.IsNullOrEmpty(filters.School)) { characterList = characterList.Where(x => x.School == filters.School).ToList(); } if (!string.IsNullOrEmpty(filters.House)) { characterList = characterList.Where(x => x.House != null && x.House.Id == filters.House).ToList(); } if (!string.IsNullOrEmpty(filters.Patronus)) { characterList = characterList.Where(x => x.Patronus == filters.Patronus).ToList(); } Assert.True(getResult.Success); Assert.Equal(characterList.Count(), getResult.Data.Count()); }