-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathtest.html
78 lines (55 loc) · 4.15 KB
/
test.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="./kontonummer.js"></script>
<script>
function test(condition, message) {
const red = str => '<span style="color: red">' + str + '</span>';
const green = str => '<span style="color: green">' + str + '</span>';
if (typeof message === 'string' && condition) {
document.write(green('✔ ' + message + '<br>\n'));
} else {
document.write(red('✖ ' + message + '<br>\n'));
}
}
const forex = kontonummer('9420, 417 23 85');
test(forex.bank_name === 'Forex Bank', 'Forex Bank bank account number returns correct bank name');
test(forex.clearing_number === '9420', 'Forex Bank bank account number returns correct clearing number');
test(forex.account_number === '4172385', 'Forex Bank bank account number returns correct account number');
const handelsbanken = kontonummer('6789123456789');
test(handelsbanken.bank_name === 'Handelsbanken', 'Handelsbanken bank account number returns correct bank name');
test(handelsbanken.clearing_number === '6789', 'Handelsbanken bank account number returns correct clearing number');
test(handelsbanken.account_number === '123456789', 'Handelsbanken bank account number returns correct account number');
const swedbank5 = kontonummer('8424-4,983 189 224-6');
test(swedbank5.bank_name === 'Swedbank', 'Swedbank bank account number with a five digit clearing number returns correct bank name');
test(swedbank5.clearing_number === '84244', 'Swedbank bank account number with a five digit clearing number returns correct clearing number');
test(swedbank5.account_number === '9831892246', 'Swedbank bank account number with a five digit clearing number returns correct account number');
const sparbankenTanum = kontonummer('8351-9,392 242 224-5');
test(sparbankenTanum.bank_name === 'Swedbank', 'Sparbanken Tanum bank account number returns correct bank name');
test(sparbankenTanum.clearing_number === '83519', 'Sparbanken Tanum account number returns correct clearing number');
test(sparbankenTanum.account_number === '3922422245', 'Sparbanken Tanum account number returns correct account number');
const hudik = kontonummer('8129-9,043 386 711-6');
test(hudik.bank_name === 'Swedbank', 'Sparbank i Hudiksvall bank account number returns correct bank name');
test(hudik.clearing_number === '81299', 'Sparbank i Hudiksvall account number returns correct clearing number');
test(hudik.account_number === '0433867116', 'Sparbank i Hudiksvall account number returns correct account number');
const nordeaPersonnumber = kontonummer('3300 000620-5124');
test(nordeaPersonnumber.bank_name === 'Nordea', 'Nordea personnumber bank account number returns correct bank name');
test(nordeaPersonnumber.clearing_number === '3300', 'Nordea personnumber bank account number returns correct clearing number');
test(nordeaPersonnumber.account_number === '0006205124', 'Nordea personnumber bank account number returns correct account number');
const klarna = kontonummer('97891111113');
test(klarna.bank_name === 'Klarna Bank', 'Klarna Bank bank account number returns correct bank name');
test(klarna.clearing_number === '9789', 'Klarna Bank bank account number returns correct clearing number');
test(klarna.account_number === '1111113', 'Klarna Bank bank account number returns correct account number');
const invalid = kontonummer('123456789');
test(invalid === false, 'Invalid bank account numbers returns false');
const invalidControl = kontonummer('6789123456788');
test(invalidControl === false, 'Invalid control digit invalidates entire number');
// Same account number as 'swedbank5' above, but different clearing number
const invalidClearing = kontonummer('8424-1,983 189 224-6');
test(invalidClearing === false, 'Invalid control digit in clearing number invalidates entire number');
</script>
</head>
<body>
</body>
</html>