public async Task GetMyProjectsTest(string name, string userIdStr) { await AddProjectTest(); var userId = Guid.Parse((ReadOnlySpan <char>)userIdStr); ReplaceCurrentUser(userId); var input = new GetMyProjectsInputDto() { Name = name }; await WithUnitOfWorkAsync(async() => { var myProjects = await _demoProjectAppService.GetProjects(input); if (name == "name1") { if (userId == _userId1) { myProjects.Items.Count.ShouldBe(1); } else { myProjects.Items.Count.ShouldBe(0); } } else { myProjects.Items.Count.ShouldBe(0); } }); }
/// <summary> /// 获取项目 /// </summary> /// <param name="input"></param> /// <returns></returns> public Task <IPagedResult <DemoProjectItemDto> > GetProjects(GetMyProjectsInputDto input) { return(_demoProjectRepository .AsNoTracking() .WhereIf(!string.IsNullOrEmpty(input.Name), x => x.Name.Contains(input.Name)) .OrderBy(input.Sorting) .ProjectTo <DemoProjectItemDto>(Configuration) //需在ProjectDtoMapper中进行映射配置 .ToPageResultAsync(input)); }