@jaxolotl/wdclib
Version:
Required Library to bridge javascript with Tableau. Use the scripts below to create the combined shim library. i.e. npm run-script build_and_copy
51 lines (35 loc) • 1.87 kB
JavaScript
/* eslint-env node, mocha, jest */
import * as ApprovedOrigins from './ApprovedOrigins';
// use if required for debugging
let consoleLog = console.log; // eslint-disable-line no-unused-vars
console.log = jest.fn();
describe('UNIT - ApprovedOrigins', () => {
beforeEach(() => {
// Cookies Mock to make this a Unit Test instead of an integration test
// temp mock, will investigate on a better mocking for Cookies lib :(
// (tried with standard jest mock, ridiculously failing)
ApprovedOrigins.CookiesLib.mokedCookies = {};
ApprovedOrigins.CookiesLib.get = jest.fn(() => {
return ApprovedOrigins.CookiesLib.mokedCookies[ApprovedOrigins.APPROVED_ORIGINS_KEY];
});
ApprovedOrigins.CookiesLib.set = jest.fn((key, val) => {
ApprovedOrigins.CookiesLib.mokedCookies[key] = val;
return ApprovedOrigins.CookiesLib;
});
});
it('getApprovedOrigins should get an empty array if no value is set', () => {
expect(ApprovedOrigins.getApprovedOrigins()).toEqual([]);
});
it('addApprovedOrigin should add an approved origin and ApprovedOrigins.getApprovedOrigins get it correctly', () => {
let origin = 'http://tableau.com';
expect(ApprovedOrigins.addApprovedOrigin(origin)).toBe(ApprovedOrigins.CookiesLib);
expect(ApprovedOrigins.getApprovedOrigins()).toEqual([origin]);
});
it('addApprovedOrigin should add multiple values and get an array of the values', () => {
let origin1 = 'http://tableau.com';
let origin2 = 'http://connectors.tableab.com';
ApprovedOrigins.addApprovedOrigin(origin1);
ApprovedOrigins.addApprovedOrigin(origin2);
expect(ApprovedOrigins.getApprovedOrigins()).toEqual([origin1, origin2]);
});
});