Пример #1
0
        public async Task GetRepositoryUsers_ShouldCallCorrectUrlAndGetResult()
        {
            var responseJson = Utilities.LoadFile(Paths.GetEnterpriseDataPath("GetRepositoryUsersResponse.json"));
            var responseData = new NewtonsoftJsonSerializer().Deserialize <EnterpriseIteratorBasedPage <EnterpriseUser> >(responseJson);

            var result = _restClient
                         .Capture()
                         .Args <string, int, QueryString, IEnumerable <EnterpriseUser> >((s, url, limit, queryString) => s.GetAllPages <EnterpriseUser>(url, limit, queryString), responseData.Values);

            var resultData = (await _sut.GetRepositoryUsers("reponame", "owner", "filter")).ToList();

            Assert.AreEqual(1, result.CallCount);

            var args = result.Args[0];

            Assert.Multiple(() =>
            {
                Assert.AreEqual($"users", args.arg1);
                Assert.AreEqual(50, args.arg2);
                Assert.AreEqual("?permission=LICENSED_USER&permission.1=REPO_READ&permission.1.projectKey=owner&permission.1.repositorySlug=reponame&filter=filter", args.arg3.ToString());

                var firstUser = resultData.First();

                Assert.AreEqual("MistyKuuuuuuuu", firstUser.DisplayName);
                Assert.AreEqual("*****@*****.**", firstUser.Email);
                Assert.AreEqual("MistyK", firstUser.UserName);
            });
        }