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); }
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()); }
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"); }
/// <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()); }