Exemple #1
0
        public async Task MovesCardBetweenColumns()
        {
            var project = await CreateRepositoryProjectHelper(_github, _context.RepositoryId);

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

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

            var card1 = await CreateCardHelper(_github, column1.Id);

            var card2 = await CreateCardHelper(_github, column1.Id);

            var card3 = await CreateCardHelper(_github, column1.Id);

            var positionTop    = new ProjectCardMove(ProjectCardPosition.Top, column2.Id, null);
            var positionBottom = new ProjectCardMove(ProjectCardPosition.Top, column2.Id, null);
            var positionAfter  = new ProjectCardMove(ProjectCardPosition.Top, column2.Id, card1.Id);

            var resultTop = await _github.Repository.Project.Card.Move(card1.Id, positionTop);

            var resultBottom = await _github.Repository.Project.Card.Move(card2.Id, positionBottom);

            var resultAfter = await _github.Repository.Project.Card.Move(card3.Id, positionTop);

            Assert.True(resultTop);
            Assert.True(resultBottom);
            Assert.True(resultAfter);
        }
Exemple #2
0
            public async Task EnsuresNonNullArguments()
            {
                var client   = new ObservableProjectCardsClient(Substitute.For <IGitHubClient>());
                var position = new ProjectCardMove(ProjectCardPosition.Top, 1, null);

                await Assert.ThrowsAsync <ArgumentNullException>(() => client.Move(1, null).ToTask());
            }
Exemple #3
0
            public void PostsToCorrectURL()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservableProjectCardsClient(gitHubClient);
                var position     = new ProjectCardMove(ProjectCardPosition.Top, 1, null);

                client.Move(1, position);

                gitHubClient.Repository.Project.Card.Received().Move(1, position);
            }
            public async Task PostsToCorrectURL()
            {
                var connection = Substitute.For <IApiConnection>();
                var client     = new ProjectCardsClient(connection);
                var position   = new ProjectCardMove(ProjectCardPosition.Top, 1, null);

                await client.Move(1, position);

                connection.Connection.Received().Post(
                    Arg.Is <Uri>(u => u.ToString() == "projects/columns/cards/1/moves"),
                    position,
                    "application/vnd.github.inertia-preview+json");
            }
Exemple #5
0
        /// <summary>
        /// Moves a card.
        /// </summary>
        /// <remarks>
        /// See the <a href="https://developer.github.com/v3/repos/projects/#move-a-project-card">API documentation</a> for more information.
        /// </remarks>
        /// <param name="id">The id of the card</param>
        /// <param name="position">The position to move the card</param>
        public IObservable <bool> Move(int id, ProjectCardMove position)
        {
            Ensure.ArgumentNotNull(position, "position");

            return(_client.Move(id, position).ToObservable());
        }