/// <summary>
        /// 更新项目
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task UpdateProject(UpdateProjectInputDto input)
        {
            var project = await _demoProjectRepository
                          .IncludeIf(input.SyncUnitProject, x => x.DemoUnitProjects)
                          .Include(x => x.DemoUnitProjects)
                          .GetAsync(input.ProjectId);

            if (project == null)
            {
                throw new UserFriendlyException("未找到指定的项目");
            }
            if (input.SyncUnitProject)
            {
                project.SynchronizationUnitProjectName(input.Name);
            }
            else
            {
                project.UpdateName(input.Name);
            }
        }
        public async Task UpdateProjectTest(string name, bool syncUnitProject)
        {
            var project = await AddProjectTest();

            var input = new UpdateProjectInputDto()
            {
                ProjectId       = project.Id,
                Name            = name,
                SyncUnitProject = syncUnitProject
            };

            await WithUnitOfWorkAsync(async() => { await _demoProjectAppService.UpdateProject(input); });
            await WithUnitOfWorkAsync(async() =>
            {
                var projectUpdated = await _demoProjectRepository.Include(x => x.DemoUnitProjects).FirstOrDefaultAsync(x => x.Id == project.Id);
                projectUpdated.ShouldNotBeNull();
                projectUpdated.Name.ShouldBe(name);
                if (syncUnitProject)
                {
                    projectUpdated.DemoUnitProjects.Any().ShouldBeTrue();
                    projectUpdated.DemoUnitProjects.First().Name.ShouldBe(name);
                }
            });
        }