133 lines
3.6 KiB
HTML
133 lines
3.6 KiB
HTML
<!doctype html>
|
|
<meta charset="utf8">
|
|
<title>Payment Method Basic Card - test passing empty BasicCardRequest members</title>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script>
|
|
setup({ explicit_done: true, explicit_timeout: true });
|
|
|
|
const amount = { value: "1.0", currency: "USD" };
|
|
const details = {
|
|
total: {
|
|
label: "Total",
|
|
amount,
|
|
},
|
|
};
|
|
const method = {
|
|
supportedMethods: "basic-card",
|
|
};
|
|
|
|
const defaultBillingAddress = {
|
|
country: 'AF',
|
|
addressLine: '1 wpt street',
|
|
region: '',
|
|
city: 'Kabul',
|
|
dependentLocality: '',
|
|
postalCode: '1001',
|
|
sortingCode: '',
|
|
organization: 'w3c',
|
|
recipient: 'web platform test',
|
|
phone: '+93555555555',
|
|
};
|
|
|
|
const visaCredit = {
|
|
cardNumber: "4111111111111111",
|
|
cardSecurityCode: "123",
|
|
cardholderName: "web platform test",
|
|
expiryMonth: "01",
|
|
expiryYear: "2026",
|
|
};
|
|
|
|
async function getCardResponse(data) {
|
|
const payMethod = Object.assign({ data }, method);
|
|
const response = await new PaymentRequest([payMethod], details).show();
|
|
await response.complete("success");
|
|
return response.details;
|
|
}
|
|
|
|
/**
|
|
* All tests expect the same return data, so we can just check the
|
|
* same result over and over again.
|
|
*/
|
|
function runPromiseTest(button, data, expectedCard = visaCredit, expectedAddress = defaultBillingAddress ) {
|
|
button.disabled = true;
|
|
promise_test(async () => {
|
|
const card = await getCardResponse(data);
|
|
for (const [member, expectedValue] of Object.entries(expectedCard)) {
|
|
const msg = `Expected "card.${member}" to equal "${expectedValue}".`;
|
|
assert_equals(card[member], expectedValue, msg);
|
|
}
|
|
const { billingAddress } = card;
|
|
for (const [member, expectedValue] of Object.entries(expectedAddress)) {
|
|
const msg = `billingAddress.${member} to equal ${expectedValue}.`;
|
|
assert_equals(billingAddress[member], expectedValue);
|
|
}
|
|
}, button.textContent.trim());
|
|
}
|
|
</script>
|
|
<h2>
|
|
Payment Method Basic Card - test passing empty BasicCardRequest values
|
|
</h2>
|
|
<p>
|
|
This test checks that the Basic Card payment handler can accept any card.
|
|
</p>
|
|
<p>
|
|
Click on each button in sequence from top to bottom without refreshing the page.
|
|
Each button will bring up the Payment Request UI window.
|
|
The test expects the following credit card.
|
|
</p>
|
|
<ol>
|
|
<li>Add card:
|
|
<dl>
|
|
<dt>Cardholder name:</dt>
|
|
<dd>web platform test</dd>
|
|
<dt>Card number:</dt>
|
|
<dd>4111111111111111</dd>
|
|
<dt>Security code (CVV):</dt>
|
|
<dd>123</dd>
|
|
<dt>Expiry month:</dt>
|
|
<dd>01</dd>
|
|
<dt>Expiry year:</dt>
|
|
<dd>2026</dd>
|
|
</dl>
|
|
</li>
|
|
<li>Add billing address:
|
|
<dl>
|
|
<dt>Recipient:</dt>
|
|
<dd>web platform test</dd>
|
|
<dt>Address:</dt>
|
|
<dd>1 web st</dd>
|
|
<dt>Post code:</dt>
|
|
<dd>1234</dd>
|
|
<dt>Country:</dt>
|
|
<dd>Afghanistan</dd>
|
|
<dt>City:</dt>
|
|
<dd>w3c</dd>
|
|
<dt>Phone</dt>
|
|
<dd>+12345678910</dd>
|
|
</dl>
|
|
</li>
|
|
</ol>
|
|
<hr>
|
|
<ol>
|
|
<li>
|
|
<button onclick="runPromiseTest(this, {});">
|
|
When passed BasicCardRequest without members, allow the user to input a card on any network.
|
|
</button>
|
|
</li>
|
|
<li>
|
|
<button onclick="runPromiseTest(this, { supportedNetworks: [] });">
|
|
Returns a card on any network, because zero length supportedNetworks.
|
|
</button>
|
|
</li>
|
|
<li>
|
|
<button onclick="done();">
|
|
Done!
|
|
</button>
|
|
</li>
|
|
</ol>
|
|
|
|
<small>
|
|
If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a>
|
|
and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/META.yml">suggested reviewers</a>.
|
|
</small>
|