JSFiddle - React, Tailwind, and code Playground
by Fagner Brack
HTML
<script src="https://code.jquery.com/qunit/qunit-2.6.1.js"></script>
<link rel="stylesheet" href="https://code.jquery.com/qunit/qunit-2.6.1.css">
<div id="qunit"></div>
<div id="qunit-fixture"></div>
JavaScript
// Some fake proxyquire implementation, ignore this
const proxyquire = (fn, stubbedDependencies) => {
window.require = (moduleName) => {
return stubbedDependencies[moduleName];
};
return fn;
};
window.require = (moduleName) => {
return {
'./prefill-fields.js': (formFields, providerFields) => {
const getValue = require('./getValue');
return Object.keys(formFields).reduce((accumulator, fieldName) => {
accumulator[fieldName] = getValue(fieldName, providerFields);
return accumulator;
}, {});
}
}[moduleName];
};
QUnit.test('prefillFields(...) calls getValue(...)', (assert) => {
assert.expect(2);
const prefillFields = require('./prefill-fields.js');
const prefillFieldsMocked = proxyquire(prefillFields, {
'./getValue': (formFieldLookupName, providerFieldd) => {
assert.strictEqual(formFieldLookupName, 'fullName');
assert.deepEqual(providerFieldd, { fullName: 'John' });
}
});
prefillFieldsMocked({ fullName: 'Mike' }, { fullName: 'John' });
});