public async Task UpdatePullRequest_ShouldCallCorrectUrlAndMethod() { var pq = new PullRequest() { Id = 1, Title = "master", Description = "description", Source = new Source() { Branch = new Branch() { Name = "master", IsDefault = false } }, Destination = new Source() { Branch = new Branch() { Name = "4", IsDefault = false } }, Reviewers = new List <User>() { new User() { UserName = "******" } }, }; var result = _restClient .Capture() .Args <IRestRequest, IRestResponse <PullRequest> >((s, req) => s.ExecuteTaskAsync <PullRequest>(req), MockRepository.GenerateMock <IRestResponse <PullRequest> >()); await _sut.UpdatePullRequest(pq, "repo", "owner"); Assert.AreEqual(1, result.CallCount); var args = result.Args[0]; Assert.AreEqual("repositories/owner/repo/pullrequests/1", args.Resource); Assert.AreEqual(Method.PUT, args.Method); }