obdfcascrape/tests/scrape.ee.js
Martin Donnelly be5d3eae07 init
2019-05-05 20:13:56 +01:00

287 lines
8.2 KiB
JavaScript

const tape = require('tape');
const _test = require('tape-promise').default; // <---- notice 'default'
const test = _test(tape); // decorate tape
const fs = require('fs');
const jsonfile = require('jsonfile');
const EE = require('../ncas/ee');
const eeScraper = new EE();
const failure = { 'fail':true };
const empty = {};
test.test('Entity', async t => {
test.test('EE:: Process PS Entity 001', async t => {
const htmlFile = 'tests/data/ee/ent_001.html';
// https://www.fi.ee/en/payment-services/payment-institutions/licensed-payment-institutions-estonia/aktsiaselts-talveaed
t.test('EE::Extract entity details', async t => {
const psDetail = fs.readFileSync(htmlFile);
const expectedJSON = jsonfile.readFileSync('tests/data/ee/ent_001_detail.json');
const output = await eeScraper.extractEntityDetails(psDetail);
t.deepEquals(output, expectedJSON, 'Extracted entity details from Page');
t.end();
});
t.test('EE::Extract entity license', async t => {
const psDetail = fs.readFileSync(htmlFile);
const expectedJSON = jsonfile.readFileSync('tests/data/ee/ent_001_licenses.json');
const output = await eeScraper.extractEntityLicense(psDetail);
t.deepEquals(output, expectedJSON, 'Extracted entity license from Page');
t.end();
});
t.test('EE::Extract Cross Border blocks', async t => {
const psDetail = fs.readFileSync(htmlFile);
const expectedJSON = jsonfile.readFileSync('tests/data/ee/ent_001_cb.json');
const output = await eeScraper.extractEntityCrossBorder(psDetail);
t.deepEquals(output, expectedJSON, 'Extracted entity details from Page');
t.end();
});
t.test('EE::Extract Service blocks', async t => {
const psDetail = fs.readFileSync(htmlFile);
const expectedJSON = empty;
const output = await eeScraper.extractEntityServices(psDetail);
t.deepEquals(output, expectedJSON, 'Extracted entity services from Page');
t.end();
});
t.test('EE::Extract Branch blocks', async t => {
const psDetail = fs.readFileSync(htmlFile);
const expectedJSON = empty;
const output = await eeScraper.extractEntityBranches(psDetail);
t.deepEquals(output, expectedJSON, 'Extracted entity branches from Page');
t.end();
});
t.end();
});
test.test('EE:: Process PS Entity 002', async t => {
const htmlFile = 'tests/data/ee/ent_002.html';
// https://www.fi.ee/en/payment-services/payment-institutions/payment-services/providers-cross-border-payment-sevices/2checkout-uk-limited
t.test('EE::Extract entity details', async t => {
const psDetail = fs.readFileSync(htmlFile);
const expectedJSON = jsonfile.readFileSync('tests/data/ee/ent_002_detail.json');
const output = await eeScraper.extractEntityDetails(psDetail);
t.deepEquals(output, expectedJSON, 'Extracted entity details from Page');
t.end();
});
t.test('EE::Extract entity license', async t => {
const psDetail = fs.readFileSync(htmlFile);
const expectedJSON = empty;
const output = await eeScraper.extractEntityLicense(psDetail);
t.deepEquals(output, expectedJSON, 'Extracted entity license from Page');
t.end();
});
t.test('EE::Extract Cross Border blocks', async t => {
const psDetail = fs.readFileSync(htmlFile);
const expectedJSON = empty;
const output = await eeScraper.extractEntityCrossBorder(psDetail);
t.deepEquals(output, expectedJSON, 'Extracted entity details from Page');
t.end();
});
t.test('EE::Extract Service blocks', async t => {
const psDetail = fs.readFileSync(htmlFile);
const expectedJSON = jsonfile.readFileSync('tests/data/ee/ent_002_services.json');
const output = await eeScraper.extractEntityServices(psDetail);
t.deepEquals(output, expectedJSON, 'Extracted entity services from Page');
t.end();
});
t.test('EE::Extract Branch blocks', async t => {
const psDetail = fs.readFileSync(htmlFile);
const expectedJSON = empty;
const output = await eeScraper.extractEntityBranches(psDetail);
t.deepEquals(output, expectedJSON, 'Extracted entity branches from Page');
t.end();
});
t.end();
});
test.test('EE:: Process EM Entity 003', async t => {
const htmlFile = 'tests/data/ee/ent_003.html';
// https://www.fi.ee/en/payment-services/e-money-institutions/providers-cross-border-e-money-services/easy-payment-services-ood
t.test('EE::Extract entity details', async t => {
const psDetail = fs.readFileSync(htmlFile);
const expectedJSON = jsonfile.readFileSync('tests/data/ee/ent_003_detail.json');
const output = await eeScraper.extractEntityDetails(psDetail);
t.deepEquals(output, expectedJSON, 'Extracted entity details from Page');
t.end();
});
t.test('EE::Extract entity license', async t => {
const psDetail = fs.readFileSync(htmlFile);
const expectedJSON = empty;
const output = await eeScraper.extractEntityLicense(psDetail);
t.deepEquals(output, expectedJSON, 'Extracted entity license from Page');
t.end();
});
t.test('EE::Extract Cross Border blocks', async t => {
const psDetail = fs.readFileSync(htmlFile);
const expectedJSON = empty;
const output = await eeScraper.extractEntityCrossBorder(psDetail);
t.deepEquals(output, expectedJSON, 'Extracted entity details from Page');
t.end();
});
t.test('EE::Extract Service blocks', async t => {
const psDetail = fs.readFileSync(htmlFile);
const expectedJSON = jsonfile.readFileSync('tests/data/ee/ent_003_services.json');
const output = await eeScraper.extractEntityServices(psDetail);
t.deepEquals(output, expectedJSON, 'Extracted entity services from Page');
t.end();
});
t.test('EE::Extract Branch blocks', async t => {
const psDetail = fs.readFileSync(htmlFile);
const expectedJSON = empty;
const output = await eeScraper.extractEntityBranches(psDetail);
t.deepEquals(output, expectedJSON, 'Extracted entity branches from Page');
t.end();
});
t.end();
});
test.test('EE:: Process CI Entity 004', async t => {
const htmlFile = 'tests/data/ee/ent_004.html';
// https://www.fi.ee/en/banking-and-credit/banking-and-credit/credit-institutions/licensed-credit-institutions-estonia/inbank
t.test('EE::Extract entity details', async t => {
const psDetail = fs.readFileSync(htmlFile);
const expectedJSON = jsonfile.readFileSync('tests/data/ee/ent_004_detail.json');
const output = await eeScraper.extractEntityDetails(psDetail);
t.deepEquals(output, expectedJSON, 'Extracted entity details from Page');
t.end();
});
t.test('EE::Extract entity license', async t => {
const psDetail = fs.readFileSync(htmlFile);
const expectedJSON = jsonfile.readFileSync('tests/data/ee/ent_004_licenses.json');
const output = await eeScraper.extractEntityLicense(psDetail);
t.deepEquals(output, expectedJSON, 'Extracted entity license from Page');
t.end();
});
t.test('EE::Extract Cross Border blocks', async t => {
const psDetail = fs.readFileSync(htmlFile);
const expectedJSON = jsonfile.readFileSync('tests/data/ee/ent_004_cb.json');
const output = await eeScraper.extractEntityCrossBorder(psDetail);
t.deepEquals(output, expectedJSON, 'Extracted entity details from Page');
t.end();
});
t.test('EE::Extract Service blocks', async t => {
const psDetail = fs.readFileSync(htmlFile);
const expectedJSON = jsonfile.readFileSync('tests/data/ee/ent_004_services.json');
const output = await eeScraper.extractEntityServices(psDetail);
t.deepEquals(output, expectedJSON, 'Extracted entity services from Page');
t.end();
});
t.test('EE::Extract Branch blocks', async t => {
const psDetail = fs.readFileSync(htmlFile);
const expectedJSON = jsonfile.readFileSync('tests/data/ee/ent_004_branches.json');
const output = await eeScraper.extractEntityBranches(psDetail);
t.deepEquals(output, expectedJSON, 'Extracted entity branches from Page');
t.end();
});
t.end();
});
t.end();
});