コード例 #1
0
            public async Task EnsuresNonNullArguments()
            {
                var client           = new ProjectColumnsClient(Substitute.For <IApiConnection>());
                var newProjectColumn = new NewProjectColumn("someName");

                await Assert.ThrowsAsync <ArgumentNullException>(() => client.Create(1, null));
            }
コード例 #2
0
    private static async Task <ProjectColumn> CreateColumnHelper(IGitHubClient githubClient, int projectId)
    {
        var newColumn = new NewProjectColumn(Helper.MakeNameWithTimestamp("new-project-column"));
        var result    = await githubClient.Repository.Project.Column.Create(projectId, newColumn);

        return(result);
    }
コード例 #3
0
            public void EnsuresNonNullArguments()
            {
                var client           = new ObservableProjectColumnsClient(Substitute.For <IGitHubClient>());
                var newProjectColumn = new NewProjectColumn("someName");

                Assert.Throws <ArgumentNullException>(() => client.Create(1, null));
            }
コード例 #4
0
            public void PostsToCorrectURL()
            {
                var gitHubClient     = Substitute.For <IGitHubClient>();
                var client           = new ObservableProjectColumnsClient(gitHubClient);
                var newProjectColumn = new NewProjectColumn("someName");

                client.Create(1, newProjectColumn);

                gitHubClient.Repository.Project.Column.Received().Create(1, newProjectColumn);
            }
コード例 #5
0
            public async Task PostsToCorrectURL()
            {
                var connection       = Substitute.For <IApiConnection>();
                var client           = new ProjectColumnsClient(connection);
                var newProjectColumn = new NewProjectColumn("someName");

                await client.Create(1, newProjectColumn);

                connection.Received().Post <ProjectColumn>(
                    Arg.Is <Uri>(u => u.ToString() == "projects/1/columns"),
                    newProjectColumn,
                    "application/vnd.github.inertia-preview+json");
            }
コード例 #6
0
        public async Task AddIssueToProjectAsync(int projectId, string columnName, int issueId)
        {
            var allProjectColumns = await _githubClient.Repository.Project.Column.GetAll(projectId);

            var foundProjectColumn = allProjectColumns.FirstOrDefault(column => column.Name.Equals(columnName, StringComparison.InvariantCultureIgnoreCase));

            if (foundProjectColumn == null)
            {
                var newProjectColumn = new NewProjectColumn(columnName);
                foundProjectColumn = await _githubClient.Repository.Project.Column.Create(projectId, newProjectColumn);
            }

            var projectCard = new NewProjectCard(issueId, ProjectCardContentType.Issue);
            await _githubClient.Repository.Project.Card.Create(foundProjectColumn.Id, projectCard);
        }
コード例 #7
0
        /// <summary>
        /// Creates a column for this project.
        /// </summary>
        /// <remarks>
        /// See the <a href="https://developer.github.com/v3/projects/columns/#create-a-project-column">API documentation</a> for more information.
        /// </remarks>
        /// <param name="projectId">The id of the project</param>
        /// <param name="newProjectColumn">The column to create</param>
        public IObservable <ProjectColumn> Create(int projectId, NewProjectColumn newProjectColumn)
        {
            Ensure.ArgumentNotNull(newProjectColumn, "newProjectColumn");

            return(_client.Create(projectId, newProjectColumn).ToObservable());
        }