Пример #1
0
        public async Task GetByTransactionIdAsync_throws_IamportResponseException_when_response_code_is_not_success()
        {
            // arrange
            var expectedRequest = Guid.NewGuid().ToString();
            var expectedResult  = new IamportResponse <Payment>
            {
                Code           = -1,
                HttpStatusCode = HttpStatusCode.InternalServerError,
            };
            var client = GetMockClient(expectedResult);
            var sut    = new PaymentsApi(client);

            // act/assert
            await Assert.ThrowsAsync <IamportResponseException>(
                () => sut.GetByTransactionIdAsync(expectedRequest));
        }
Пример #2
0
        public async Task GetByTransactionIdAsync_requests_proper_uri(string transactionId)
        {
            // arrange
            var expectedResult = new IamportResponse <Payment>
            {
                HttpStatusCode = HttpStatusCode.OK,
            };
            var expectedPath = $"payments/find/{WebUtility.UrlEncode(transactionId)}";
            var client       = GetMockClient(expectedResult);
            var sut          = new PaymentsApi(client);

            // act
            var result = await sut.GetByTransactionIdAsync(transactionId);

            // assert
            Mock.Get(client)
            .Verify(mocked =>
                    mocked.RequestAsync <object, Payment>(
                        It.Is <IamportRequest>(req =>
                                               req.ApiPathAndQueryString.EndsWith(expectedPath))));
        }
Пример #3
0
 public async Task GetByTransactionIdAsync_GuardClause(string id)
 {
     var sut = new PaymentsApi(GetEmptyMockClient());
     await Assert.ThrowsAsync <ArgumentNullException>(
         () => sut.GetByTransactionIdAsync(id));
 }