| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <script src="/js-test-resources/ui-helper.js"></script> |
| <script src="/resources/js-test-pre.js"></script> |
| <script src="/resources/payment-request.js"></script> |
| </head> |
| <body> |
| <script> |
| |
| description("Test ApplePaySetup."); |
| |
| window.jsTestIsAsync = true; |
| |
| expectedMerchantIdentifier = 'merchant'; |
| expectedReferrerIdentifier = 'referrer'; |
| expectedSignature = 'signature'; |
| expectedSignedFields = ['field1']; |
| expectedSetupFeatureState = 'supported'; |
| expectedSetupFeatureType = 'appleCard'; |
| expectedSetupFeatureSupportsInstallments = ApplePaySession.supportsVersion(8) ? true : undefined; |
| |
| testSetupConfiguration = () => { |
| shouldBe('internals.mockPaymentCoordinator.setupConfiguration.merchantIdentifier', 'expectedMerchantIdentifier'); |
| shouldBe('internals.mockPaymentCoordinator.setupConfiguration.referrerIdentifier', 'expectedReferrerIdentifier'); |
| shouldBe('internals.mockPaymentCoordinator.setupConfiguration.signature', 'expectedSignature'); |
| shouldBe('typeof internals.mockPaymentCoordinator.setupConfiguration.signedFields', '"object"'); |
| shouldBe('internals.mockPaymentCoordinator.setupConfiguration.signedFields.length', 'expectedSignedFields.length'); |
| shouldBe('internals.mockPaymentCoordinator.setupConfiguration.signedFields[0]', 'expectedSignedFields[0]'); |
| } |
| |
| (async () => { |
| |
| let setup = new ApplePaySetup({ |
| merchantIdentifier: expectedMerchantIdentifier, |
| referrerIdentifier: expectedReferrerIdentifier, |
| signature: expectedSignature, |
| signedFields: expectedSignedFields, |
| }); |
| |
| internals.mockPaymentCoordinator.addSetupFeature(expectedSetupFeatureState, expectedSetupFeatureType, expectedSetupFeatureSupportsInstallments); |
| |
| features = await setup.getSetupFeatures(); |
| testSetupConfiguration(); |
| shouldBe('typeof features', '"object"'); |
| shouldBe('features.length', '1'); |
| shouldBe('features[0].state', 'expectedSetupFeatureState'); |
| shouldBe('features[0].type', 'expectedSetupFeatureType'); |
| shouldBe('features[0].supportsInstallments', 'expectedSetupFeatureSupportsInstallments'); |
| |
| activateThen(async () => { |
| let success = await setup.begin(features); |
| testSetupConfiguration(); |
| finishJSTest(); |
| }); |
| |
| })(); |
| </script> |
| <script src="/resources/js-test-post.js"></script> |
| </body> |
| </html> |