コード例 #1
0
            public async Task EnsuresNonNullArguments()
            {
                var client     = new ProjectCardsClient(Substitute.For <IApiConnection>());
                var updateCard = new ProjectCardUpdate("someNewNote");

                await Assert.ThrowsAsync <ArgumentNullException>(() => client.Update(1, null));
            }
コード例 #2
0
            public async Task EnsuresNonNullArguments()
            {
                var client     = new ObservableProjectCardsClient(Substitute.For <IGitHubClient>());
                var updateCard = new ProjectCardUpdate
                {
                    Note = "someNewNote"
                };

                await Assert.ThrowsAsync <ArgumentNullException>(() => client.Update(1, null).ToTask());
            }
コード例 #3
0
            public void PostsToCorrectURL()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservableProjectCardsClient(gitHubClient);
                var updateCard   = new ProjectCardUpdate("someNewNote");

                client.Update(1, updateCard);

                gitHubClient.Repository.Project.Card.Received().Update(1, updateCard);
            }
コード例 #4
0
            public async Task PostsToCorrectURL()
            {
                var connection = Substitute.For <IApiConnection>();
                var client     = new ProjectCardsClient(connection);
                var updateCard = new ProjectCardUpdate("someNewNote");

                await client.Update(1, updateCard);

                connection.Received().Patch <ProjectCard>(
                    Arg.Is <Uri>(u => u.ToString() == "projects/columns/cards/1"),
                    updateCard,
                    "application/vnd.github.inertia-preview+json");
            }
コード例 #5
0
        public async Task ReplaceText(string from, string to, int columnId)
        {
            var cards = _client.GetAll(columnId).Result;

            foreach (var card in cards)
            {
                var note = card.Note;
                if (card.Note.Contains(from))
                {
                    var update = new ProjectCardUpdate(note.Replace(from, to));
                    await _client.Update(card.Id, update);
                }
            }
        }
コード例 #6
0
        public async Task UpdatesCard()
        {
            var project = await CreateRepositoryProjectHelper(_github, _context.RepositoryId);

            var column = await CreateColumnHelper(_github, project.Id);

            var card = await CreateCardHelper(_github, column.Id);

            var cardUpdate = new ProjectCardUpdate("newNameOfNote");

            var result = await _github.Repository.Project.Card.Update(card.Id, cardUpdate);

            Assert.Equal("newNameOfNote", result.Note);
            Assert.Equal(card.Id, result.Id);
        }
コード例 #7
0
        public async Task UnarchivesCard()
        {
            var project = await CreateRepositoryProjectHelper(_github, _context.RepositoryId);

            var column = await CreateColumnHelper(_github, project.Id);

            var card = await CreateArchivedCardHelper(_github, column.Id);

            var cardUpdate = new ProjectCardUpdate
            {
                Archived = false
            };

            var result = await _github.Repository.Project.Card.Update(card.Id, cardUpdate);

            Assert.Equal(card.Id, result.Id);
            Assert.True(card.Archived);
            Assert.False(result.Archived);
        }
コード例 #8
0
        /// <summary>
        /// Updates a card.
        /// </summary>
        /// <remarks>
        /// See the <a href="https://developer.github.com/v3/repos/projects/#update-a-project-card">API documentation</a> for more information.
        /// </remarks>
        /// <param name="id">The id of the card</param>
        /// <param name="projectCardUpdate">New values to update the card with</param>
        public IObservable <ProjectCard> Update(int id, ProjectCardUpdate projectCardUpdate)
        {
            Ensure.ArgumentNotNull(projectCardUpdate, "projectCardUpdate");

            return(_client.Update(id, projectCardUpdate).ToObservable());
        }