Sha256: 842a36e7bab05ee581ec10f87e313505844a48f9d47fcdf44658e7db884dfd73

Contents?: true

Size: 1.07 KB

Versions: 5

Compression:

Stored size: 1.07 KB

Contents

var jsdom = require('jsdom').JSDOM;
var exposedProperties = ['window', 'navigator', 'document'];
var Enzyme = require('enzyme');
var Adapter = require('enzyme-adapter-react-16');

Enzyme.configure({ adapter: new Adapter() });

jsdom = new jsdom('<!DOCTYPE html><html><body></body></html>');

global.document = jsdom.window.document;
global.window = document.defaultView;

Object.keys(document.defaultView).forEach((property) => {
  if (typeof global[property] === 'undefined') {
    exposedProperties.push(property);
    global[property] = document.defaultView[property];
  }
});

function mockStorage() {
  let storage = {};

  return {
    setItem(key, value = '') {
      storage[key] = value;
    },
    getItem(key) {
      return storage[key];
    },
    removeItem(key) {
      delete storage[key];
    },
    get length() {
      return Object.keys(storage).length;
    },
    key(i) {
      return Object.keys(storage)[i] || null;
    },
    clear () {
      storage = {};
    },
  };
}

global.navigator = {
  userAgent: 'node.js'
};

global.window = {
  localStorage: mockStorage(),
};

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
gnarails-1.0.0 templates/react/js/test/.setup.js
gnarails-0.9.3 templates/react/js/test/.setup.js
gnarails-0.9.2 templates/react/js/test/.setup.js
gnarails-0.9.1 templates/react/js/test/.setup.js
gnarails-0.9.0 templates/react/js/test/.setup.js