| Test basic creation of an ApplePaySession object. |
| |
| On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". |
| |
| |
| Testing supportsVersion |
| |
| PASS ApplePaySession.supportsVersion(0) threw exception InvalidAccessError: The object does not support the operation or argument.. |
| PASS ApplePaySession.supportsVersion(1) is true |
| PASS ApplePaySession.supportsVersion(2) is true |
| |
| Testing PaymentRequest |
| |
| PASS new ApplePaySession(2, { }) threw exception TypeError: Member ApplePayPaymentRequest.countryCode is required and must be an instance of DOMString. |
| PASS new ApplePaySession(2, validRequest()) did not throw exception. |
| |
| Testing PaymentRequest.countryCode |
| |
| SETUP: request = validRequest(); delete request.countryCode; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Member ApplePayPaymentRequest.countryCode is required and must be an instance of DOMString. |
| |
| SETUP: request = validRequest(); request.countryCode = 'invalid'; |
| PASS new ApplePaySession(2, request) threw exception TypeError: "invalid" is not a valid country code.. |
| |
| SETUP: request = validRequest(); request.countryCode = ''; |
| PASS new ApplePaySession(2, request) threw exception TypeError: "" is not a valid country code.. |
| |
| SETUP: request = validRequest(); request.countryCode = null; |
| PASS new ApplePaySession(2, request) threw exception TypeError: "null" is not a valid country code.. |
| |
| SETUP: request = validRequest(); request.countryCode = undefined; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Member ApplePayPaymentRequest.countryCode is required and must be an instance of DOMString. |
| |
| SETUP: request = validRequest(); request.countryCode = 7; |
| PASS new ApplePaySession(2, request) threw exception TypeError: "7" is not a valid country code.. |
| |
| |
| Testing PaymentRequest.currencyCode |
| |
| SETUP: request = validRequest(); delete request.currencyCode; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Member ApplePayPaymentRequest.currencyCode is required and must be an instance of DOMString. |
| |
| SETUP: request = validRequest(); request.currencyCode = 'invalid'; |
| PASS new ApplePaySession(2, request) threw exception TypeError: "invalid" is not a valid currency code.. |
| |
| SETUP: request = validRequest(); request.currencyCode = ''; |
| PASS new ApplePaySession(2, request) threw exception TypeError: "" is not a valid currency code.. |
| |
| SETUP: request = validRequest(); request.currencyCode = null; |
| PASS new ApplePaySession(2, request) threw exception TypeError: "null" is not a valid currency code.. |
| |
| SETUP: request = validRequest(); request.currencyCode = undefined; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Member ApplePayPaymentRequest.currencyCode is required and must be an instance of DOMString. |
| |
| SETUP: request = validRequest(); request.currencyCode = 7; |
| PASS new ApplePaySession(2, request) threw exception TypeError: "7" is not a valid currency code.. |
| |
| |
| Testing PaymentRequest.supportedNetworks |
| |
| SETUP: request = validRequest(); delete request.supportedNetworks; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Member ApplePayPaymentRequest.supportedNetworks is required and must be an instance of sequence. |
| |
| SETUP: request = validRequest(); request.supportedNetworks = ''; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Value is not a sequence. |
| |
| SETUP: request = validRequest(); request.supportedNetworks = null; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Value is not a sequence. |
| |
| SETUP: request = validRequest(); request.supportedNetworks = undefined; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Member ApplePayPaymentRequest.supportedNetworks is required and must be an instance of sequence. |
| |
| SETUP: request = validRequest(); request.supportedNetworks = 7; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Value is not a sequence. |
| |
| SETUP: request = validRequest(); request.supportedNetworks = []; |
| PASS new ApplePaySession(2, request) threw exception TypeError: At least one supported network must be provided.. |
| |
| SETUP: request = validRequest(); request.supportedNetworks = ['invalidNetwork']; |
| PASS new ApplePaySession(2, request) threw exception TypeError: "invalidNetwork" is not a valid payment network.. |
| |
| SETUP: request = validRequest(); request.supportedNetworks = ['invalidNetwork', 'visa']; |
| PASS new ApplePaySession(2, request) threw exception TypeError: "invalidNetwork" is not a valid payment network.. |
| |
| SETUP: request = validRequest(); request.supportedNetworks = ['carteBancaire']; |
| PASS new ApplePaySession(2, request) threw exception TypeError: "carteBancaire" is not a valid payment network.. |
| |
| SETUP: request = validRequest(); request.supportedNetworks = ['visa', 'visa']; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.supportedNetworks = ['vIsa', 'MasterCard', 'JCB']; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| Testing PaymentRequest.merchantCapabilities |
| |
| SETUP: request = validRequest(); delete request.merchantCapabilities; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Member ApplePayPaymentRequest.merchantCapabilities is required and must be an instance of sequence. |
| |
| SETUP: request = validRequest(); request.merchantCapabilities = ''; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Value is not a sequence. |
| |
| SETUP: request = validRequest(); request.merchantCapabilities = null; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Value is not a sequence. |
| |
| SETUP: request = validRequest(); request.merchantCapabilities = undefined; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Member ApplePayPaymentRequest.merchantCapabilities is required and must be an instance of sequence. |
| |
| SETUP: request = validRequest(); request.merchantCapabilities = 7; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Value is not a sequence. |
| |
| SETUP: request = validRequest(); request.merchantCapabilities = []; |
| PASS new ApplePaySession(2, request) threw exception TypeError: At least one merchant capability must be provided.. |
| |
| SETUP: request = validRequest(); request.merchantCapabilities = ['invalidCapability']; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| SETUP: request = validRequest(); request.merchantCapabilities = ['invalidCapability', 'supports3DS']; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| SETUP: request = validRequest(); request.merchantCapabilities = ['supports3DS', 'supports3DS']; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| Testing PaymentRequest.total |
| |
| SETUP: request = validRequest(); delete request.total; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Member ApplePayPaymentRequest.total is required and must be an instance of ApplePayLineItem. |
| |
| SETUP: request = validRequest(); request.total = ''; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| SETUP: request = validRequest(); request.total = null; |
| PASS new ApplePaySession(2, request) threw exception TypeError: "" is not a valid amount.. |
| |
| SETUP: request = validRequest(); request.total = undefined; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Member ApplePayPaymentRequest.total is required and must be an instance of ApplePayLineItem. |
| |
| SETUP: request = validRequest(); request.total = 7; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| SETUP: request = validRequest(); request.total = []; |
| PASS new ApplePaySession(2, request) threw exception TypeError: "" is not a valid amount.. |
| |
| SETUP: request = validRequest(); request.total = { }; |
| PASS new ApplePaySession(2, request) threw exception TypeError: "" is not a valid amount.. |
| |
| SETUP: request = validRequest(); request.total = { label: 'label' }; |
| PASS new ApplePaySession(2, request) threw exception TypeError: "" is not a valid amount.. |
| |
| SETUP: request = validRequest(); request.total = { label: 'label', amount: 'amount' }; |
| PASS new ApplePaySession(2, request) threw exception TypeError: "amount" is not a valid amount.. |
| |
| SETUP: request = validRequest(); request.total = { label: 'label', amount: '-10.00' }; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Total amount must not be negative.. |
| |
| SETUP: request = validRequest(); request.total = { label: 'label', amount: '10000000000.00' }; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Total amount is too big.. |
| |
| SETUP: request = validRequest(); request.total = { label: 'label', amount: '10.00', type: 'invalid' }; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| SETUP: request = validRequest(); request.total = { label: 'label', amount: '10.00', type: 'pending' }; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| Testing PaymentRequest.lineItems |
| |
| SETUP: request = validRequest(); request.lineItems = undefined; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.lineItems = ''; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Value is not a sequence. |
| |
| SETUP: request = validRequest(); request.lineItems = null; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Value is not a sequence. |
| |
| SETUP: request = validRequest(); request.lineItems = 7; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Value is not a sequence. |
| |
| SETUP: request = validRequest(); request.lineItems = { }; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| SETUP: request = validRequest(); request.lineItems = [{ label: 'label', type: 'pending' }]; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.lineItems = []; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.lineItems = ['']; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| SETUP: request = validRequest(); request.lineItems = [null]; |
| PASS new ApplePaySession(2, request) threw exception TypeError: "" is not a valid amount.. |
| |
| SETUP: request = validRequest(); request.lineItems = [undefined]; |
| PASS new ApplePaySession(2, request) threw exception TypeError: "" is not a valid amount.. |
| |
| SETUP: request = validRequest(); request.lineItems = [{}]; |
| PASS new ApplePaySession(2, request) threw exception TypeError: "" is not a valid amount.. |
| |
| SETUP: request = validRequest(); request.lineItems = [{ label: 'label' }]; |
| PASS new ApplePaySession(2, request) threw exception TypeError: "" is not a valid amount.. |
| |
| SETUP: request = validRequest(); request.lineItems = [{ label: 'label', amount: '' }]; |
| PASS new ApplePaySession(2, request) threw exception TypeError: "" is not a valid amount.. |
| |
| SETUP: request = validRequest(); request.lineItems = [{ label: 'label', amount: '10.00', type: 'invalid' }]; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| Testing PaymentRequest.requiredBillingContactFields |
| |
| SETUP: request = validRequest(); request.requiredBillingContactFields = undefined; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.requiredBillingContactFields = ''; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Value is not a sequence. |
| |
| SETUP: request = validRequest(); request.requiredBillingContactFields = null; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Value is not a sequence. |
| |
| SETUP: request = validRequest(); request.requiredBillingContactFields = 7; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Value is not a sequence. |
| |
| SETUP: request = validRequest(); request.requiredBillingContactFields = { }; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| SETUP: request = validRequest(); request.requiredBillingContactFields = ['']; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| SETUP: request = validRequest(); request.requiredBillingContactFields = [null]; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| SETUP: request = validRequest(); request.requiredBillingContactFields = [undefined]; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| SETUP: request = validRequest(); request.requiredBillingContactFields = [{}]; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| SETUP: request = validRequest(); request.requiredBillingContactFields = ['invalid']; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| SETUP: request = validRequest(); request.requiredBillingContactFields = ['phoneticName']; |
| PASS new ApplePaySession(2, request) threw exception TypeError: "phoneticName" is not a valid contact field.. |
| |
| SETUP: request = validRequest(); request.requiredBillingContactFields = ['email', 'name', 'phone', 'postalAddress']; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.requiredBillingContactFields = ['email', 'email']; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.requiredBillingContactFields = []; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| Testing PaymentRequest.billingContact |
| |
| SETUP: request = validRequest(); request.billingContact = ''; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| SETUP: request = validRequest(); request.billingContact = 7; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| SETUP: request = validRequest(); request.billingContact = null; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.billingContact = undefined; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.billingContact = { }; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.billingContact = { subLocality: '', subAdministrativeArea: '' }; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| Testing PaymentRequest.requiredShippingContactFields |
| |
| SETUP: request = validRequest(); request.requiredShippingContactFields = undefined; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.requiredShippingContactFields = ''; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Value is not a sequence. |
| |
| SETUP: request = validRequest(); request.requiredShippingContactFields = null; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Value is not a sequence. |
| |
| SETUP: request = validRequest(); request.requiredShippingContactFields = 7; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Value is not a sequence. |
| |
| SETUP: request = validRequest(); request.requiredShippingContactFields = { }; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| SETUP: request = validRequest(); request.requiredShippingContactFields = ['']; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| SETUP: request = validRequest(); request.requiredShippingContactFields = [null]; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| SETUP: request = validRequest(); request.requiredShippingContactFields = [undefined]; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| SETUP: request = validRequest(); request.requiredShippingContactFields = [{}]; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| SETUP: request = validRequest(); request.requiredShippingContactFields = ['invalid']; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| SETUP: request = validRequest(); request.requiredShippingContactFields = ['phoneticName']; |
| PASS new ApplePaySession(2, request) threw exception TypeError: "phoneticName" is not a valid contact field.. |
| |
| SETUP: request = validRequest(); request.requiredShippingContactFields = ['email', 'name', 'phone', 'postalAddress']; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.requiredShippingContactFields = ['email', 'email']; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.requiredShippingContactFields = []; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| Testing PaymentRequest.shippingContact |
| |
| SETUP: request = validRequest(); request.shippingContact = ''; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| SETUP: request = validRequest(); request.shippingContact = 7; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| SETUP: request = validRequest(); request.shippingContact = null; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.shippingContact = undefined; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.shippingContact = { }; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.shippingContact = { subLocality: '', subAdministrativeArea: '' }; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| Testing PaymentRequest.shippingType |
| |
| SETUP: request = validRequest(); request.shippingType = undefined; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.shippingType = 'shipping'; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.shippingType = 'delivery'; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.shippingType = 'storePickup'; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.shippingType = 'servicePickup'; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.shippingType = ''; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| SETUP: request = validRequest(); request.shippingType = 'invalid'; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| SETUP: request = validRequest(); request.shippingType = null; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| SETUP: request = validRequest(); request.shippingType = 7; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| SETUP: request = validRequest(); request.shippingType = { }; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| Testing PaymentRequest.shippingMethods |
| |
| SETUP: request = validRequest(); request.shippingMethods = undefined; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.shippingMethods = []; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.shippingMethods = ''; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Value is not a sequence. |
| |
| SETUP: request = validRequest(); request.shippingMethods = 'invalid'; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Value is not a sequence. |
| |
| SETUP: request = validRequest(); request.shippingMethods = null; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Value is not a sequence. |
| |
| SETUP: request = validRequest(); request.shippingMethods = 7; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Value is not a sequence. |
| |
| SETUP: request = validRequest(); request.shippingMethods = { }; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Type error. |
| |
| SETUP: request = validRequest(); request.shippingMethods = [{ }]; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Member ApplePayShippingMethod.amount is required and must be an instance of DOMString. |
| |
| SETUP: request = validRequest(); request.shippingMethods = [{ amount: '', }]; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Member ApplePayShippingMethod.detail is required and must be an instance of DOMString. |
| |
| SETUP: request = validRequest(); request.shippingMethods = [{ amount: '', detail: '' }]; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Member ApplePayShippingMethod.identifier is required and must be an instance of DOMString. |
| |
| SETUP: request = validRequest(); request.shippingMethods = [{ amount: '', detail: '', identifier: '' }]; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Member ApplePayShippingMethod.label is required and must be an instance of DOMString. |
| |
| SETUP: request = validRequest(); request.shippingMethods = [{ amount: '', detail: '', identifier: '', label: '' }]; |
| PASS new ApplePaySession(2, request) threw exception TypeError: "" is not a valid amount.. |
| |
| SETUP: request = validRequest(); request.shippingMethods = [{ amount: '-1', detail: '', identifier: '', label: '' }]; |
| PASS new ApplePaySession(2, request) threw exception TypeError: Shipping method amount must be greater than or equal to zero.. |
| |
| SETUP: request = validRequest(); request.shippingMethods = [{ amount: '10.00', detail: '', identifier: '', label: '' }]; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.shippingMethods = [{ amount: '10.00', detail: '', identifier: '', label: '' }, { amount: '10.00', detail: '', identifier: '', label: '' }]; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| Testing PaymentRequest.applicationData |
| |
| SETUP: request = validRequest(); request.applicationData = undefined; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.applicationData = ''; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.applicationData = 'invalid'; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.applicationData = 7; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.applicationData = null; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.applicationData = { }; |
| PASS new ApplePaySession(2, request) did not throw exception. |
| |
| SETUP: request = validRequest(); request.applicationData = { toString: function() { throw '"Error in toString"'; } }; |
| PASS new ApplePaySession(2, request) threw exception "Error in toString". |
| |
| PASS successfullyParsed is true |
| |
| TEST COMPLETE |
| |