Example #1
0
        public async Task ProjectCreated()
        {
            var createRequest = CreateProjectRequest.FromName(GetRandomProjectName());

            createRequest.Description             = "description1";
            createRequest.EnableContainerRegistry = true;
            createRequest.EnableIssues            = true;
            createRequest.EnableJobs                                = true;
            createRequest.EnableMergeRequests                       = true;
            createRequest.PublicJobs                                = true;
            createRequest.EnableWiki                                = true;
            createRequest.EnableLfs                                 = true;
            createRequest.EnablePrintingMergeRequestLink            = true;
            createRequest.OnlyAllowMergeIfAllDiscussionsAreResolved = true;
            createRequest.OnlyAllowMergeIfPipelineSucceeds          = true;
            createRequest.Visibility                                = ProjectVisibilityLevel.Internal;

            var project = await _sut.CreateAsync(createRequest);

            project.Should().Match <Project>(
                p => p.Description == "description1" &&
                p.ContainerRegistryEnabled &&
                p.IssuesEnabled &&
                p.JobsEnabled &&
                p.MergeRequestsEnabled &&
                p.PublicJobs &&
                p.WikiEnabled &&
                p.OnlyAllowMergeIfAllDiscussionsAreResolved == true &&
                p.OnlyAllowMergeIfPipelineSucceeds == true &&
                p.Visibility == ProjectVisibilityLevel.Internal);

            ProjectIdsToClean.Add(project.Id);
        }
        public async Task CreatedProjectCanBeUpdated()
        {
            var createRequest = CreateProjectRequest.FromName(GetRandomProjectName());

            createRequest.Description             = "description1";
            createRequest.EnableContainerRegistry = true;
            createRequest.EnableIssues            = true;
            createRequest.EnableJobs                                = true;
            createRequest.EnableMergeRequests                       = true;
            createRequest.PublicBuilds                              = true;
            createRequest.EnableWiki                                = true;
            createRequest.EnableLfs                                 = true;
            createRequest.EnablePrintingMergeRequestLink            = true;
            createRequest.OnlyAllowMergeIfAllDiscussionsAreResolved = true;
            createRequest.OnlyAllowMergeIfPipelineSucceeds          = true;
            createRequest.Visibility                                = ProjectVisibilityLevel.Internal;

            var createdProject = await _sut.CreateAsync(createRequest);

            ProjectIdsToClean.Add(createdProject.Id);

            var updatedProject = await _sut.UpdateAsync(new UpdateProjectRequest(createdProject.Id.ToString(), createdProject.Name)
            {
                Description             = "description11",
                EnableContainerRegistry = false,
                EnableIssues            = false,
                EnableJobs          = false,
                EnableMergeRequests = false,
                PublicJobs          = false,
                EnableWiki          = false,
                EnableLfs           = false,
                OnlyAllowMergeIfAllDiscussionsAreResolved = false,
                OnlyAllowMergeIfPipelineSucceeds          = false,
                Visibility = ProjectVisibilityLevel.Public
            });

            updatedProject.Should().Match <Project>(
                p => p.Description == "description11" &&
                !p.ContainerRegistryEnabled &&
                !p.IssuesEnabled &&
                !p.JobsEnabled &&
                !p.MergeRequestsEnabled &&
                p.PublicJobs &&
                !p.WikiEnabled &&
                p.OnlyAllowMergeIfAllDiscussionsAreResolved == false &&
                p.OnlyAllowMergeIfPipelineSucceeds == false &&
                p.Visibility == ProjectVisibilityLevel.Public);
        }