public async Task CreatePullRequestAsync_CreatesDestinationBranch()
		{
			var classroom = GetClassroom();
			var project = GetProject(classroom);
			var user = GetUser(classroom);
			var checkpoint = GetCheckpoint(project);
			var commit = GetCommit(user, project);

			var repoClient = GetMockRepositoryClient();
			var submissionCreator = new SubmissionCreator(repoClient.Object);

			await submissionCreator.CreatePullRequestAsync(commit, checkpoint);

			repoClient.Verify(GetCreateBranchExpression("Checkpoint1", "Commit1"), Times.Once);
		}
		public async Task CreatePullRequestAsync_CreatesPullRequest()
		{
			var classroom = GetClassroom();
			var project = GetProject(classroom);
			var user = GetUser(classroom);
			var checkpoint = GetCheckpoint(project);
			var commit = GetCommit(user, project);

			var repoClient = GetMockRepositoryClient(pullRequestId: 123);
			var submissionCreator = new SubmissionCreator(repoClient.Object);

			var result = await submissionCreator.CreatePullRequestAsync(commit, checkpoint);

			repoClient.Verify(GetCreatePullRequestExpression("Checkpoint1Source", "Checkpoint1"), Times.Once);

			Assert.Equal(123, result);
		}