public void ProcessPlasticCardSale_4000_CannotConnectToProduction()
        {
            var processor = new PayGovSingleService("https://tcs.pay.gov/tcscollections/services/TCSSingleService", _cert);
            var request = BuildDefaultRequest();

            Func<Task> act = async () => await processor.ProcessPlasticCardSale(request);

            act.ShouldThrow<ApplicationException>()
                .WithMessage("Error establishing connection.")
                .WithInnerMessage("The request was aborted: Could not create SSL/TLS secure channel.");
        }
        public void ProcessPlasticCardSale_4000_CannotConnectToProduction()
        {
            var processor = new PayGovSingleService("https://tcs.pay.gov/tcscollections/services/TCSSingleService", _cert);
            var request   = BuildDefaultRequest();

            Func <Task> act = async() => await processor.ProcessPlasticCardSale(request);

            act.ShouldThrow <ApplicationException>()
            .WithMessage("Error establishing connection.")
            .WithInnerMessage("The request was aborted: Could not create SSL/TLS secure channel.");
        }
        public async Task ProcessPlasticCardSale_2002_SuccessulSubmissionOfSale()
        {
            var processor = new PayGovSingleService(_url, _cert);
            var request   = BuildDefaultRequest();
            var response  = await processor.ProcessPlasticCardSale(request);

            response.Should().NotBeNull();
            response.Response.Should().NotBeNull();

            var saleResponse = response.Response;

            saleResponse.ReturnCode.Should().NotBeNullOrEmpty().And.Be("2002");
            saleResponse.ReturnDetail.Should()
            .NotBeNullOrEmpty()
            .And.Contain("Successful submission").And.Contain("PC Sale");
            saleResponse.PayGovTrackingId.Should().NotBeNullOrEmpty();
        }
        public async Task ProcessPlasticCardSale_2002_SuccessulSubmissionOfSale()
        {
            var processor = new PayGovSingleService(_url, _cert);
            var request = BuildDefaultRequest();
            var response = await processor.ProcessPlasticCardSale(request);

            response.Should().NotBeNull();
            response.Response.Should().NotBeNull();

            var saleResponse = response.Response;

            saleResponse.ReturnCode.Should().NotBeNullOrEmpty().And.Be("2002");
            saleResponse.ReturnDetail.Should()
                .NotBeNullOrEmpty()
                .And.Contain("Successful submission").And.Contain("PC Sale");
            saleResponse.PayGovTrackingId.Should().NotBeNullOrEmpty();
        }
        public async Task ProcessPlasticCardSale_4019_NoAgencyExists()
        {
            var request = BuildDefaultRequest();

            request.AgencyId      = "1234";
            request.ApplicationId = "DOESNOTEXIST";

            var processor = new PayGovSingleService(_url, _cert);
            var response  = await processor.ProcessPlasticCardSale(request);

            response.Should().NotBeNull();
            response.Response.Should().NotBeNull();

            var saleResponse = response.Response;

            saleResponse.ReturnCode.Should().NotBeNullOrEmpty().And.Be("4019");
            saleResponse.ReturnDetail.Should().NotBeNullOrEmpty().And.Contain("No agency application found");
            saleResponse.PayGovTrackingId.Should().BeNullOrEmpty();
        }
        public async Task ProcessPlasticCardSale_4051_AgencyTrackingId_NotUnique()
        {
            var request = BuildDefaultRequest();

            request.Request.AgencyTrackingId = "12345678";
            var processor = new PayGovSingleService(_url, _cert);
            var response  = await processor.ProcessPlasticCardSale(request);

            response.Should().NotBeNull();
            response.Response.Should().NotBeNull();

            var saleResponse = response.Response;

            saleResponse.ReturnCode.Should().NotBeNullOrEmpty().And.Be("4051");
            saleResponse.ReturnDetail.Should()
            .NotBeNullOrEmpty()
            .And.Contain("agency_tracking_id").And.Contain("is not unique");
            saleResponse.PayGovTrackingId.Should().BeNullOrEmpty();
        }
        public async Task ProcessPlasticCardSale_With_ClassificationData_Should_Return_2002()
        {
            var processor = new PayGovSingleService(_url, _cert);
            var request   = BuildDefaultRequest();

            request.Request.Classification.Add(new ClassificationData
            {
                Amount           = 0,  //request.Request.TransactionAmount - 5,
                ClassificationId = "0" //"TAS BETC 1"
            });

            request.Request.Classification.Add(new ClassificationData
            {
                Amount           = 0,  //5.00m,
                ClassificationId = "0" //"TAS BETC 2"
            });

            request.Request.Classification.Add(new ClassificationData
            {
                Amount           = 0,  //0.00m,
                ClassificationId = "0" //"TAS BETC 3"
            });

            var response = await processor.ProcessPlasticCardSale(request);

            response.Should().NotBeNull();
            response.Response.Should().NotBeNull();

            var saleResponse = response.Response;

            saleResponse.ReturnCode.Should().NotBeNullOrEmpty().And.Be("2002");
            saleResponse.ReturnDetail.Should()
            .NotBeNullOrEmpty()
            .And.Contain("Successful submission").And.Contain("PC Sale");
            saleResponse.PayGovTrackingId.Should().NotBeNullOrEmpty();
        }
        public async Task ProcessPlasticCardSale_With_ClassificationData_Should_Return_2002()
        {
            var processor = new PayGovSingleService(_url, _cert);
            var request = BuildDefaultRequest();

            request.Request.Classification.Add(new ClassificationData
            {
                Amount = 0, //request.Request.TransactionAmount - 5,
                ClassificationId = "0" //"TAS BETC 1"
            });

            request.Request.Classification.Add(new ClassificationData
            {
                Amount = 0, //5.00m,
                ClassificationId = "0"//"TAS BETC 2"
            });

            request.Request.Classification.Add(new ClassificationData
            {
                Amount = 0, //0.00m,
                ClassificationId = "0"//"TAS BETC 3"
            });

            var response = await processor.ProcessPlasticCardSale(request);

            response.Should().NotBeNull();
            response.Response.Should().NotBeNull();

            var saleResponse = response.Response;

            saleResponse.ReturnCode.Should().NotBeNullOrEmpty().And.Be("2002");
            saleResponse.ReturnDetail.Should()
                .NotBeNullOrEmpty()
                .And.Contain("Successful submission").And.Contain("PC Sale");
            saleResponse.PayGovTrackingId.Should().NotBeNullOrEmpty();
        }
        public async Task ProcessPlasticCardSale_4019_NoAgencyExists()
        {
            var request = BuildDefaultRequest();
            request.AgencyId = "1234";
            request.ApplicationId = "DOESNOTEXIST";

            var processor = new PayGovSingleService(_url, _cert);
            var response = await processor.ProcessPlasticCardSale(request);

            response.Should().NotBeNull();
            response.Response.Should().NotBeNull();

            var saleResponse = response.Response;

            saleResponse.ReturnCode.Should().NotBeNullOrEmpty().And.Be("4019");
            saleResponse.ReturnDetail.Should().NotBeNullOrEmpty().And.Contain("No agency application found");
            saleResponse.PayGovTrackingId.Should().BeNullOrEmpty();
        }
Пример #10
0
        public async Task ProcessPlasticCardSale_4051_AgencyTrackingId_NotUnique()
        {
            var request = BuildDefaultRequest();
            request.Request.AgencyTrackingId = "12345678";
            var processor = new PayGovSingleService(_url, _cert);
            var response = await processor.ProcessPlasticCardSale(request);

            response.Should().NotBeNull();
            response.Response.Should().NotBeNull();

            var saleResponse = response.Response;

            saleResponse.ReturnCode.Should().NotBeNullOrEmpty().And.Be("4051");
            saleResponse.ReturnDetail.Should()
                .NotBeNullOrEmpty()
                .And.Contain("agency_tracking_id").And.Contain("is not unique");
            saleResponse.PayGovTrackingId.Should().BeNullOrEmpty();
        }