130 lines
4.1 KiB
JavaScript
130 lines
4.1 KiB
JavaScript
'use strict';
|
|
|
|
const resultsStorage = require('../lib/support/resultsStorage');
|
|
const moment = require('moment');
|
|
const expect = require('chai').expect;
|
|
|
|
const timestamp = moment();
|
|
const timestampString = timestamp.format('YYYY-MM-DD-HH-mm-ss');
|
|
|
|
function createResultUrls(url, outputFolder, resultBaseURL) {
|
|
return resultsStorage(url, timestamp, outputFolder, resultBaseURL).resultUrls;
|
|
}
|
|
|
|
describe('resultUrls', function() {
|
|
describe('#hasBaseUrl', function() {
|
|
it('should be false if base url is missing', function() {
|
|
const resultUrls = createResultUrls(
|
|
'http://www.foo.bar',
|
|
undefined,
|
|
undefined
|
|
);
|
|
expect(resultUrls.hasBaseUrl()).to.be.false;
|
|
});
|
|
|
|
it('should be true if base url is present', function() {
|
|
const resultUrls = createResultUrls(
|
|
'http://www.foo.bar',
|
|
undefined,
|
|
'http://results.com'
|
|
);
|
|
expect(resultUrls.hasBaseUrl()).to.be.true;
|
|
});
|
|
});
|
|
|
|
describe('#reportSummaryUrl', function() {
|
|
it('should create url with default output folder', function() {
|
|
const resultUrls = createResultUrls(
|
|
'http://www.foo.bar',
|
|
undefined,
|
|
'http://results.com'
|
|
);
|
|
expect(resultUrls.reportSummaryUrl()).to.equal(
|
|
`http://results.com/www.foo.bar/${timestampString}`
|
|
);
|
|
});
|
|
it('should create url with absolute output folder', function() {
|
|
const resultUrls = createResultUrls(
|
|
'http://www.foo.bar',
|
|
'/root/leaf',
|
|
'http://results.com'
|
|
);
|
|
expect(resultUrls.reportSummaryUrl()).to.equal('http://results.com/leaf');
|
|
});
|
|
it('should create url with relative output folder', function() {
|
|
const resultUrls = createResultUrls(
|
|
'http://www.foo.bar',
|
|
'../leaf',
|
|
'http://results.com'
|
|
);
|
|
expect(resultUrls.reportSummaryUrl()).to.equal('http://results.com/leaf');
|
|
});
|
|
});
|
|
describe('#absoluteSummaryPageUrl', function() {
|
|
it('should create url with default output folder', function() {
|
|
const resultUrls = createResultUrls(
|
|
'http://www.foo.bar',
|
|
undefined,
|
|
'http://results.com'
|
|
);
|
|
expect(
|
|
resultUrls.absoluteSummaryPageUrl('http://www.foo.bar/xyz')
|
|
).to.equal(
|
|
`http://results.com/www.foo.bar/${timestampString}/pages/www.foo.bar/xyz/`
|
|
);
|
|
});
|
|
it('should create url with absolute output folder', function() {
|
|
const resultUrls = createResultUrls(
|
|
'http://www.foo.bar',
|
|
'/root/leaf',
|
|
'http://results.com'
|
|
);
|
|
expect(
|
|
resultUrls.absoluteSummaryPageUrl('http://www.foo.bar/xyz')
|
|
).to.equal('http://results.com/leaf/pages/www.foo.bar/xyz/');
|
|
});
|
|
it('should create url with relative output folder', function() {
|
|
const resultUrls = createResultUrls(
|
|
'http://www.foo.bar',
|
|
'../leaf',
|
|
'http://results.com'
|
|
);
|
|
expect(
|
|
resultUrls.absoluteSummaryPageUrl('http://www.foo.bar/xyz')
|
|
).to.equal('http://results.com/leaf/pages/www.foo.bar/xyz/');
|
|
});
|
|
});
|
|
describe('#relativeSummaryPageUrl', function() {
|
|
it('should create url with default output folder', function() {
|
|
const resultUrls = createResultUrls(
|
|
'http://www.foo.bar',
|
|
undefined,
|
|
'http://results.com'
|
|
);
|
|
expect(
|
|
resultUrls.relativeSummaryPageUrl('http://www.foo.bar/xyz')
|
|
).to.equal('pages/www.foo.bar/xyz/');
|
|
});
|
|
it('should create url with absolute output folder', function() {
|
|
const resultUrls = createResultUrls(
|
|
'http://www.foo.bar',
|
|
'/root/leaf',
|
|
'http://results.com'
|
|
);
|
|
expect(
|
|
resultUrls.relativeSummaryPageUrl('http://www.foo.bar/xyz')
|
|
).to.equal('pages/www.foo.bar/xyz/');
|
|
});
|
|
it('should create url with relative output folder', function() {
|
|
const resultUrls = createResultUrls(
|
|
'http://www.foo.bar',
|
|
'../leaf',
|
|
'http://results.com'
|
|
);
|
|
expect(
|
|
resultUrls.relativeSummaryPageUrl('http://www.foo.bar/xyz')
|
|
).to.equal('pages/www.foo.bar/xyz/');
|
|
});
|
|
});
|
|
});
|