<!doctype html>
<meta charset="utf-8">
<title>Tests for PaymentRequestEvent</title>
<link rel="help" href="https://w3c.github.io/web-based-payment-handler/#the-paymentrequestevent">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<p>When the payment sheet is shown, please authorize the mock payment.</p>
<script>
promise_test(async t => {
  const methodName = window.location.origin + '/web-based-payment-handler/'
      + 'payment-request-event-manual-manifest.json';
  await test_driver.bless('invoking a payment app');
  const response = await new PaymentRequest(
    [
      {supportedMethods: methodName, data: {}},
      {supportedMethods: 'interledger', data: {supportedNetworks: ['mir']}},
    ],
    {
      id: 'test-payment-request-identifier',
      total: {label: 'Total', amount: {currency: 'USD', value: '0.01'}},
      displayItems: [
        {label: 'Item 1', amount: {currency: 'CAD', value: '0.005'}},
        {label: 'Item 2', amount: {currency: 'EUR', value: '0.005'}},
      ],
      modifiers: [
        {
          supportedMethods: methodName,
          data: {supportedNetworks: ['mir']},
          total: {
            label: 'MIR total',
            amount: {currency: 'USD', value: '0.0099'},
          },
          additionalDisplayItems: [
            {label: 'Item 3', amount: {currency: 'GBP', value: '-0.0001'}},
          ],
        },
        {
          supportedMethods: methodName,
          data: {supportedNetworks: ['visa']},
          total: {
            label: 'VISA total',
            amount: {currency: 'USD', value: '0.0098'},
          },
          additionalDisplayItems: [
            {label: 'Item 4', amount: {currency: 'CNY', value: '-0.0002'}},
          ],
        },
        {
          supportedMethods: 'interledger',
          data: {},
          total: {
            label: 'Prepaid total',
            amount: {currency: 'USD', value: '0.0097'},
          },
          additionalDisplayItems: [
            {label: 'Item 5', amount: {currency: 'JPY', value: '-0.0003'}},
          ],
        },
      ],
    },
  ).show();
  const promise = response.complete('success');
  assert_equals(response.requestId, 'test-payment-request-identifier');
  assert_equals(response.methodName, methodName);
  return promise;
}, 'Can perform payment');
</script>
