Пример #1
0
        public async Task CreatePullRequest_ShouldCallCorrectUrlAndMethod()
        {
            var result = _restClient
                         .Capture()
                         .Args <IRestRequest, IRestResponse>((s, req) => s.ExecuteTaskAsync(req), MockRepository.GenerateMock <IRestResponse>());

            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 = "******"
                    }
                },
            };

            await _sut.CreatePullRequest(pq, "reponame", "owner");

            Assert.AreEqual(1, result.CallCount);

            var args = result.Args[0];

            Assert.AreEqual($"projects/owner/repos/reponame/pull-requests", args.Resource);
            Assert.AreEqual(Method.POST, args.Method);

            var body = args.Parameters.First(p => p.Type == ParameterType.RequestBody);

            var expectedJsonBody = Utilities.LoadFile(Paths.GetEnterpriseDataPath("CreatePullRequestRequest.json"));

            Assert.AreEqual(expectedJsonBody, body.Value.ToString());
        }