summaryrefslogtreecommitdiff
path: root/@linaria/examples/Preact/preact-example/tests
diff options
context:
space:
mode:
Diffstat (limited to '@linaria/examples/Preact/preact-example/tests')
-rw-r--r--@linaria/examples/Preact/preact-example/tests/__mocks__/browserMocks.js21
-rw-r--r--@linaria/examples/Preact/preact-example/tests/__mocks__/fileMocks.js3
-rw-r--r--@linaria/examples/Preact/preact-example/tests/__mocks__/setupTests.js6
-rw-r--r--@linaria/examples/Preact/preact-example/tests/header.test.js12
4 files changed, 42 insertions, 0 deletions
diff --git a/@linaria/examples/Preact/preact-example/tests/__mocks__/browserMocks.js b/@linaria/examples/Preact/preact-example/tests/__mocks__/browserMocks.js
new file mode 100644
index 0000000..0f6744e
--- /dev/null
+++ b/@linaria/examples/Preact/preact-example/tests/__mocks__/browserMocks.js
@@ -0,0 +1,21 @@
+// Mock Browser API's which are not supported by JSDOM, e.g. ServiceWorker, LocalStorage
+/**
+ * An example how to mock localStorage is given below 👇
+ */
+
+/*
+// Mocks localStorage
+const localStorageMock = (function() {
+ let store = {};
+
+ return {
+ getItem: (key) => store[key] || null,
+ setItem: (key, value) => store[key] = value.toString(),
+ clear: () => store = {}
+ };
+
+})();
+
+Object.defineProperty(window, 'localStorage', {
+ value: localStorageMock
+}); */
diff --git a/@linaria/examples/Preact/preact-example/tests/__mocks__/fileMocks.js b/@linaria/examples/Preact/preact-example/tests/__mocks__/fileMocks.js
new file mode 100644
index 0000000..7b27556
--- /dev/null
+++ b/@linaria/examples/Preact/preact-example/tests/__mocks__/fileMocks.js
@@ -0,0 +1,3 @@
+// This fixed an error related to the CSS and loading gif breaking my Jest test
+// See https://facebook.github.io/jest/docs/en/webpack.html#handling-static-assets
+module.exports = 'test-file-stub'; \ No newline at end of file
diff --git a/@linaria/examples/Preact/preact-example/tests/__mocks__/setupTests.js b/@linaria/examples/Preact/preact-example/tests/__mocks__/setupTests.js
new file mode 100644
index 0000000..4bd4ae4
--- /dev/null
+++ b/@linaria/examples/Preact/preact-example/tests/__mocks__/setupTests.js
@@ -0,0 +1,6 @@
+import { configure } from 'enzyme';
+import Adapter from 'enzyme-adapter-preact-pure';
+
+configure({
+ adapter: new Adapter()
+});
diff --git a/@linaria/examples/Preact/preact-example/tests/header.test.js b/@linaria/examples/Preact/preact-example/tests/header.test.js
new file mode 100644
index 0000000..f116ef4
--- /dev/null
+++ b/@linaria/examples/Preact/preact-example/tests/header.test.js
@@ -0,0 +1,12 @@
+import { h } from 'preact';
+import Header from '../src/components/header';
+// See: https://github.com/preactjs/enzyme-adapter-preact-pure
+import { shallow } from 'enzyme';
+
+describe('Initial Test of the Header', () => {
+ test('Header renders 3 nav items', () => {
+ const context = shallow(<Header />);
+ expect(context.find('h1').text()).toBe('Preact App');
+ expect(context.find('Link').length).toBe(3);
+ });
+});