public void ProviderProjectTo_CallsMapperMapCorrectTimes() { //arrange var someFakeCollection = new List <Category> { new Category(), new Category(), new Category(), new Category(), new Category() }.AsQueryable(); var mockMapper = new Mock <IMapper>(); var fakeMappingProvider = new MappingProvider(mockMapper.Object); //act fakeMappingProvider.ProjectTo <CategoryDTO>(someFakeCollection); //assert mockMapper.Verify(x => x.Map <CategoryDTO>(It.IsAny <Category>()), Times.Exactly(5)); }
public async Task <IEnumerable <UserDto> > GetAllUsers() { var users = (await this.UserRepository.GetAll()).Where(u => !u.IsDeleted); Guard.WhenArgument(users, "Users").IsNull().Throw(); var usersDto = MappingProvider.ProjectTo <User, UserDto>(users).ToList(); Guard.WhenArgument(usersDto, "UsersDto").IsNull().Throw(); var adminRoleId = await this.UserRepository.GetAdminRoleId(); Guard.WhenArgument(adminRoleId, "AdminRole Id").IsNullOrEmpty().Throw(); var roles = (await this.UserRepository.GetAllRoles())?.Where(r => r.RoleId == adminRoleId); var admins = usersDto.Join(roles, u => u.Id, r => r.UserId, (u, r) => u); Guard.WhenArgument(admins, "Admins").IsNull().Throw(); //foreach (var admin in admins) //{ // admin.IsAdmin = true; //} for (int i = 0; i < usersDto.Count(); i++) { foreach (var admin in admins) { if (usersDto[i].Id == admin.Id) { usersDto[i].IsAdmin = true; admin.IsAdmin = true; } } } return(usersDto); }