diff --git a/package.json b/package.json
index 596bcfb..dcaff93 100644
--- a/package.json
+++ b/package.json
@@ -19,7 +19,7 @@
"lint": "tslint .",
"start": "plugin-helpers start",
"test:server": "plugin-helpers test:server",
- "test:browser": "testcafe chrome public/__tests__",
+ "test:browser": "plugin-helpers test:browser",
"test:jest": "NODE_PATH=../../node_modules ../../node_modules/.bin/jest --config ./test/jest.config.js",
"build": "plugin-helpers build"
},
@@ -67,6 +67,7 @@
"jest-cli": "24.9.0",
"jest-raw-loader": "^1.0.1",
"lint-staged": "^9.2.0",
+ "mutationobserver-shim": "^0.3.3",
"prettier": "1.18.2",
"ts-jest": "^23.1.4",
"ts-loader": "^3.5.0",
diff --git a/public/components/Main/__snapshots__/main.test.tsx.snap b/public/components/Main/__snapshots__/main.test.tsx.snap
index 1a26a73..0f4845a 100644
--- a/public/components/Main/__snapshots__/main.test.tsx.snap
+++ b/public/components/Main/__snapshots__/main.test.tsx.snap
@@ -1527,6 +1527,515 @@ exports[` spec click run button, and response is ok 1`] = `
`;
+exports[` spec click translation button, and response is ok 1`] = `
+
diff --git a/public/components/Main/main.test.tsx b/public/components/Main/main.test.tsx
index a7e106a..f4829f2 100644
--- a/public/components/Main/main.test.tsx
+++ b/public/components/Main/main.test.tsx
@@ -17,7 +17,11 @@ import React from "react";
import "@testing-library/jest-dom/extend-expect";
import { render, fireEvent } from "@testing-library/react";
import { httpClientMock } from "../../../test/mocks";
-import { mockQueryResultResponse, mockNotOkQueryResultResponse } from "../../../test/mocks/mockData";
+import {
+ mockQueryResultResponse,
+ mockNotOkQueryResultResponse,
+ mockQueryTranslationResponse
+} from "../../../test/mocks/mockData";
import Main from "./main";
describe(" spec", () => {
@@ -74,8 +78,9 @@ describe(" spec", () => {
expect(document.body.children[0]).toMatchSnapshot();
});
- it("click translation button", async () => {
+ it("click translation button, and response is ok", async () => {
const client = httpClientMock;
+ client.post = jest.fn().mockResolvedValue(mockQueryTranslationResponse);
const { getByText } = render(
);
@@ -84,7 +89,7 @@ describe(" spec", () => {
fireEvent.click(onTranslateButton);
};
await asyncTest();
- expect(client.post).toHaveBeenCalled();
+ expect(document.body.children[0]).toMatchSnapshot();
});
it("click clear button", async () => {
@@ -99,4 +104,4 @@ describe(" spec", () => {
await asyncTest();
expect(client.post).not.toHaveBeenCalled();
});
-});
\ No newline at end of file
+});
diff --git a/public/components/QueryEditor/QueryEditor.test.tsx b/public/components/QueryEditor/QueryEditor.test.tsx
index df54e4b..c3d3385 100644
--- a/public/components/QueryEditor/QueryEditor.test.tsx
+++ b/public/components/QueryEditor/QueryEditor.test.tsx
@@ -25,8 +25,6 @@ describe(" spec", () => {
render(
{}}
- onJdbc={() => {}}
- onCsv={() => {}}
onTranslate={() => {}}
onClear={() => {}}
queryTranslations={[]}
@@ -40,16 +38,12 @@ describe(" spec", () => {
it('tests the action buttons', async() => {
const onRun = jest.fn();
- const onJdbc = jest.fn();
- const onCsv = jest.fn();
const onTranslate = jest.fn();
const onClean = jest.fn();
const { getByText } = render(
spec", () => {
fireEvent.click(getByText('Run'));
expect(onRun).toHaveBeenCalledTimes(1);
- fireEvent.click(getByText('JDBC'));
- expect(onJdbc).toHaveBeenCalledTimes(1);
-
- fireEvent.click(getByText('CSV'));
- expect(onCsv).toHaveBeenCalledTimes(1);
-
fireEvent.click(getByText('Translate'));
expect(onTranslate).toHaveBeenCalledTimes(1);
diff --git a/public/components/QueryResults/QueryResults.test.tsx b/public/components/QueryResults/QueryResults.test.tsx
index 16cea1a..2036036 100644
--- a/public/components/QueryResults/QueryResults.test.tsx
+++ b/public/components/QueryResults/QueryResults.test.tsx
@@ -14,6 +14,8 @@
*/
import React from "react";
+import "regenerator-runtime";
+import "mutationobserver-shim";
import "@testing-library/jest-dom/extend-expect";
import { render, fireEvent, configure } from "@testing-library/react";
import { mockQueryResults, mockQueries } from "../../../test/mocks/mockData";
@@ -28,7 +30,11 @@ function renderQueryResults(mockQueryResults : ResponseDetail[],
mockSearchQuery : string = '',
onSelectedTabIdChange : (tab: Tab) => void,
onQueryChange : () => {},
- updateExpandedMap : (map:ItemIdToExpandedRowMap) => {}) {
+ updateExpandedMap : (map:ItemIdToExpandedRowMap) => {},
+ getRawResponse: (queries: string[]) => void,
+ getJdbc: (queries: string[]) => void,
+ getCsv: (queries: string[]) => void,
+ getText: (queries: string[]) => void ){
return {
...render(
@@ -38,6 +44,7 @@ function renderQueryResults(mockQueryResults : ResponseDetail[],
queryResultsJDBC={''}
queryRawResponse={''}
queryResultsCSV={''}
+ queryResultsTEXT={''}
messages={[]}
selectedTabId={'0'}
selectedTabName={MESSAGE_TAB_LABEL}
@@ -47,9 +54,10 @@ function renderQueryResults(mockQueryResults : ResponseDetail[],
updateExpandedMap={updateExpandedMap}
searchQuery={mockSearchQuery}
tabsOverflow={true}
- getRawResponse={}
- getJdbc={}
- getCsv={}
+ getRawResponse={getRawResponse}
+ getJdbc={getJdbc}
+ getCsv={getCsv}
+ getText={getText}
/>
),
};
@@ -60,10 +68,15 @@ describe(" spec", () => {
const onSelectedTabIdChange = jest.fn();
const onQueryChange = jest.fn();
const updateExpandedMap = jest.fn();
+ const getRawResponse = jest.fn();
+ const getJdbc = jest.fn();
+ const getCsv = jest.fn();
+ const getText = jest.fn();
it("renders the component with no data", async () => {
(window as any).HTMLElement.prototype.scrollBy = function() {};
- const { getAllByText, getAllByRole } = renderQueryResults([], [],'', onSelectedTabIdChange, onQueryChange, updateExpandedMap);
+ const { getAllByText, getAllByRole } = renderQueryResults([], [],'',
+ onSelectedTabIdChange, onQueryChange, updateExpandedMap, getRawResponse, getJdbc, getCsv, getText);
expect(document.body.children[0]).toMatchSnapshot();
@@ -78,10 +91,16 @@ describe(" spec", () => {
const onQueryChange = jest.fn();
const updateExpandedMap = jest.fn();
const mockSearchQuery = "";
+ const getRawResponse = jest.fn();
+ const getJdbc = jest.fn();
+ const getCsv = jest.fn();
+ const getText = jest.fn();
(window as any).HTMLElement.prototype.scrollBy = jest.fn();
it("renders the component with mock query results", async () => {
- const {getAllByRole, getByText, getAllByText, getAllByTestId, getAllByLabelText} = renderQueryResults(mockQueryResults, mockQueries, mockSearchQuery, onSelectedTabIdChange, onQueryChange, updateExpandedMap);
+ const {getAllByRole, getByText, getAllByText, getAllByTestId, getAllByLabelText} =
+ renderQueryResults(mockQueryResults, mockQueries, mockSearchQuery, onSelectedTabIdChange, onQueryChange,
+ updateExpandedMap, getRawResponse, getJdbc, getCsv, getText);
// It tests scrolling arrows
expect(getAllByTestId('slide-right'));
@@ -114,7 +133,8 @@ describe(" spec", () => {
});
it("renders the component to test tabs right arrow", async () => {
- const {getAllByTestId} = renderQueryResults(mockQueryResults, mockQueries, mockSearchQuery, onSelectedTabIdChange, onQueryChange, updateExpandedMap);
+ const {getAllByTestId} = renderQueryResults(mockQueryResults, mockQueries, mockSearchQuery, onSelectedTabIdChange,
+ onQueryChange, updateExpandedMap, getRawResponse, getJdbc, getCsv, getText);
// It tests right scrolling arrows
expect(getAllByTestId('slide-right'));
@@ -122,7 +142,8 @@ describe(" spec", () => {
});
it("renders the component to test tabs down arrow", async () => {
- const {getAllByTestId} = renderQueryResults(mockQueryResults, mockQueries, mockSearchQuery, onSelectedTabIdChange, onQueryChange, updateExpandedMap);
+ const {getAllByTestId} = renderQueryResults(mockQueryResults, mockQueries, mockSearchQuery, onSelectedTabIdChange,
+ onQueryChange, updateExpandedMap, getRawResponse, getJdbc, getCsv, getText);
// It tests right scrolling arrows
expect(getAllByTestId('slide-down'));
diff --git a/public/components/QueryResults/QueryResults.tsx b/public/components/QueryResults/QueryResults.tsx
index 7fbe8d9..440bbdd 100644
--- a/public/components/QueryResults/QueryResults.tsx
+++ b/public/components/QueryResults/QueryResults.tsx
@@ -205,13 +205,13 @@ class QueryResults extends React.Component
);
const tabArrowRight = (
@@ -219,7 +219,7 @@ class QueryResults extends React.Component
const tabArrowLeft = (
diff --git a/public/components/QueryResults/QueryResultsBody.test.tsx b/public/components/QueryResults/QueryResultsBody.test.tsx
index 80932a6..70f4e82 100644
--- a/public/components/QueryResults/QueryResultsBody.test.tsx
+++ b/public/components/QueryResults/QueryResultsBody.test.tsx
@@ -26,24 +26,31 @@ import userEvent from "@testing-library/user-event";
import { QueryMessage, QueryResult } from "../Main/main";
-function renderQueryResultsBody(mockQueryResultsSelected: QueryResult,
+function renderQueryResultsBody(mockQueries: string[],
+ mockQueryResultsSelected: QueryResult,
mockQueryResultsRaw: string,
mockSortableProperties: SortableProperties,
messages: QueryMessage[],
onSort: (prop: string) => void,
onQueryChange: (query: object) => void,
updateExpandedMap:(map: object) => void,
- onChangeItemsPerPage: (itemsPerPage: number) => void) {
+ onChangeItemsPerPage: (itemsPerPage: number) => void,
+ getRawResponse: (queries: string[]) => void,
+ getJdbc: (queries: string[]) => void,
+ getCsv: (queries: string[]) => void,
+ getText: (queries: string[]) => void) {
return {
...render(
),
};
@@ -71,6 +82,10 @@ describe(" spec", () => {
const onQueryChange = jest.fn();
const updateExpandedMap = jest.fn();
const onChangeItemsPerPage = jest.fn();
+ const getRawResponse = jest.fn();
+ const getJdbc = jest.fn();
+ const getCsv = jest.fn();
+ const getText = jest.fn();
it("renders the component", () => {
const mockSortableProperties = new SortableProperties(
@@ -84,7 +99,9 @@ describe(" spec", () => {
""
);
- const { queryByTestId } = renderQueryResultsBody(undefined, undefined, mockSortableProperties, mockErrorMessage, onSort, onQueryChange, updateExpandedMap, onChangeItemsPerPage);
+ const { queryByTestId } = renderQueryResultsBody(undefined, undefined, undefined,
+ mockSortableProperties, mockErrorMessage, onSort, onQueryChange, updateExpandedMap, onChangeItemsPerPage,
+ getRawResponse, getJdbc, getCsv, getText);
// Download buttons, pagination, search area, table should not be visible when there is no data
expect(queryByTestId('Download')).toBeNull();
@@ -104,7 +121,10 @@ describe(" spec", () => {
(window as any).HTMLElement.prototype.scrollIntoView = function() {};
- const { getAllByText, getAllByTestId, getAllByLabelText, getByText, getByPlaceholderText } = renderQueryResultsBody(mockQueryResults[0].data, mockQueryResultResponse.data.resp, mockSortableProperties, mockSuccessfulMessage, onSort, onQueryChange, updateExpandedMap, onChangeItemsPerPage);
+ const { getAllByText, getAllByTestId, getAllByLabelText, getByText, getByPlaceholderText } =
+ renderQueryResultsBody(undefined, mockQueryResults[0].data, mockQueryResultResponse.data.resp, mockSortableProperties,
+ mockSuccessfulMessage, onSort, onQueryChange, updateExpandedMap, onChangeItemsPerPage, getRawResponse, getJdbc,
+ getCsv, getText);
expect(document.body.children[0]).toMatchSnapshot();
// Test sorting
@@ -133,12 +153,14 @@ describe(" spec", () => {
const downloadButton = getAllByText('Download')[0];
expect(downloadButton).not.toBe(null);
await fireEvent.click(downloadButton);
- expect(getByText("Download JSON"));
+ expect(getByText("Download ES Response"));
expect(getByText("Download JDBC"));
expect(getByText("Download CSV"));
+ expect(getByText("Download TEXT"));
await fireEvent.click(getByText("Download JSON"));
await fireEvent.click(getByText("Download JDBC"));
await fireEvent.click(getByText("Download CSV"));
+ await fireEvent.click(getByText("Download TEXT"));
// Test search field
const searchField = getByPlaceholderText('Search');
@@ -151,6 +173,6 @@ describe(" spec", () => {
expect(getAllByLabelText('Collapse').length).toBeGreaterThan(0);
await fireEvent.click(getAllByLabelText('Collapse')[0]);
expect(updateExpandedMap).toHaveBeenCalled();
-
+
});
});
diff --git a/public/components/QueryResults/__snapshots__/QueryResultsBody.test.tsx.snap b/public/components/QueryResults/__snapshots__/QueryResultsBody.test.tsx.snap
index 3bec6fb..e7f3453 100644
--- a/public/components/QueryResults/__snapshots__/QueryResultsBody.test.tsx.snap
+++ b/public/components/QueryResults/__snapshots__/QueryResultsBody.test.tsx.snap
@@ -5136,5398 +5136,6 @@ exports[` spec renders component with mock QueryResults data
`;
-exports[`
spec renders component with mock QueryResults data 2`] = `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- |
-
-
-
- 0
-
-
- |
-
-
-
-
-
-
-
-
-
-
- |
-
-
-
- EUR
-
-
- |
-
-
-
- Teddy
-
-
- |
-
-
-
- Teddy Underwood
-
-
- |
-
-
-
- MALE
-
-
- |
-
-
-
- 38
-
-
- |
-
-
-
- Underwood
-
-
- |
-
-
-
-
- |
-
-
-
- Monday
-
-
- |
-
-
-
- 0
-
-
- |
-
-
-
- Teddy@underwood-family.zzz
-
-
- |
-
-
-
-
-
-
-
-
-
-
- |
-
-
-
- 2019-10-07T09:28:48+00:00
-
-
- |
-
-
-
- 584677
-
-
- |
-
-
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
-
-
- |
-
-
-
- 36.98
-
-
- |
-
-
-
- 36.98
-
-
- |
-
-
-
- 2
-
-
- |
-
-
-
- 2
-
-
- |
-
-
-
- order
-
-
- |
-
-
-
- teddy
-
-
- |
-
-
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
-
-
-
-
- EuiIconMock
-
-
-
- |
-
-
-
- 1
-
-
- |
-
-
-
-
-
-
-
- category: [1]
-
-
-
-
- |
-
-
-
- EUR
-
-
- |
-
-
-
- Eddie
-
-
- |
-
-
-
- Eddie Underwood
-
-
- |
-
-
-
- MALE
-
-
- |
-
-
-
- 38
-
-
- |
-
-
-
- Underwood
-
-
- |
-
-
-
-
- |
-
-
-
- Monday
-
-
- |
-
-
-
- 0
-
-
- |
-
-
-
- eddie@underwood-family.zzz
-
-
- |
-
-
-
-
-
-
-
- manufacturer: [2]
-
-
-
-
- |
-
-
-
- 2019-10-07T09:28:48+00:00
-
-
- |
-
-
-
- 584677
-
-
- |
-
-
-
-
-
-
-
- products: {2}
-
-
-
-
- |
-
-
-
-
-
-
-
- sku: [2]
-
-
-
-
- |
-
-
-
- 36.98
-
-
- |
-
-
-
- 36.98
-
-
- |
-
-
-
- 2
-
-
- |
-
-
-
- 2
-
-
- |
-
-
-
- order
-
-
- |
-
-
-
- eddie
-
-
- |
-
-
-
-
-
-
-
- geoip: {1}
-
-
-
-
- |
-
-
-
-
-
-
-
- EuiIconMock
-
-
-
- |
-
-
-
- 10
-
-
- |
-
-
-
-
-
-
-
- category: [1]
-
-
-
-
- |
-
-
-
- EUR
-
-
- |
-
-
-
- Eddie
-
-
- |
-
-
-
- Eddie Underwood
-
-
- |
-
-
-
- MALE
-
-
- |
-
-
-
- 38
-
-
- |
-
-
-
- Underwood
-
-
- |
-
-
-
-
- |
-
-
-
- Monday
-
-
- |
-
-
-
- 0
-
-
- |
-
-
-
- eddie@underwood-family.zzz
-
-
- |
-
-
-
-
-
-
-
- manufacturer: [2]
-
-
-
-
- |
-
-
-
- 2019-10-07T09:28:48+00:00
-
-
- |
-
-
-
- 584677
-
-
- |
-
-
-
-
-
-
-
- products: {2}
-
-
-
-
- |
-
-
-
-
-
-
-
- sku: [2]
-
-
-
-
- |
-
-
-
- 36.98
-
-
- |
-
-
-
- 36.98
-
-
- |
-
-
-
- 2
-
-
- |
-
-
-
- 2
-
-
- |
-
-
-
- order
-
-
- |
-
-
-
- eddie
-
-
- |
-
-
-
-
-
-
-
- geoip: {1}
-
-
-
-
- |
-
-
-
-
-
-
-
- EuiIconMock
-
-
-
- |
-
-
-
- 11
-
-
- |
-
-
-
-
-
-
-
- category: [1]
-
-
-
-
- |
-
-
-
- EUR
-
-
- |
-
-
-
- Eddie
-
-
- |
-
-
-
- Eddie Underwood
-
-
- |
-
-
-
- MALE
-
-
- |
-
-
-
- 38
-
-
- |
-
-
-
- Underwood
-
-
- |
-
-
-
-
- |
-
-
-
- Monday
-
-
- |
-
-
-
- 0
-
-
- |
-
-
-
- eddie@underwood-family.zzz
-
-
- |
-
-
-
-
-
-
-
- manufacturer: [2]
-
-
-
-
- |
-
-
-
- 2019-10-07T09:28:48+00:00
-
-
- |
-
-
-
- 584677
-
-
- |
-
-
-
-
-
-
-
- products: {2}
-
-
-
-
- |
-
-
-
-
-
-
-
- sku: [2]
-
-
-
-
- |
-
-
-
- 36.98
-
-
- |
-
-
-
- 36.98
-
-
- |
-
-
-
- 2
-
-
- |
-
-
-
- 2
-
-
- |
-
-
-
- order
-
-
- |
-
-
-
- eddie
-
-
- |
-
-
-
-
-
-
-
- geoip: {1}
-
-
-
-
- |
-
-
-
-
-
-
-
- EuiIconMock
-
-
-
- |
-
-
-
- 12
-
-
- |
-
-
-
-
-
-
-
- category: [1]
-
-
-
-
- |
-
-
-
- EUR
-
-
- |
-
-
-
- Eddie
-
-
- |
-
-
-
- Eddie Underwood
-
-
- |
-
-
-
- MALE
-
-
- |
-
-
-
- 38
-
-
- |
-
-
-
- Underwood
-
-
- |
-
-
-
-
- |
-
-
-
- Monday
-
-
- |
-
-
-
- 0
-
-
- |
-
-
-
- eddie@underwood-family.zzz
-
-
- |
-
-
-
-
-
-
-
- manufacturer: [2]
-
-
-
-
- |
-
-
-
- 2019-10-07T09:28:48+00:00
-
-
- |
-
-
-
- 584677
-
-
- |
-
-
-
-
-
-
-
- products: {2}
-
-
-
-
- |
-
-
-
-
-
-
-
- sku: [2]
-
-
-
-
- |
-
-
-
- 36.98
-
-
- |
-
-
-
- 36.98
-
-
- |
-
-
-
- 2
-
-
- |
-
-
-
- 2
-
-
- |
-
-
-
- order
-
-
- |
-
-
-
- eddie
-
-
- |
-
-
-
-
-
-
-
- geoip: {1}
-
-
-
-
- |
-
-
-
-
-
-
-
- EuiIconMock
-
-
-
- |
-
-
-
- 2
-
-
- |
-
-
-
-
-
-
-
- category: [1]
-
-
-
-
- |
-
-
-
- EUR
-
-
- |
-
-
-
- Eddie
-
-
- |
-
-
-
- Eddie Underwood
-
-
- |
-
-
-
- MALE
-
-
- |
-
-
-
- 38
-
-
- |
-
-
-
- Underwood
-
-
- |
-
-
-
-
- |
-
-
-
- Monday
-
-
- |
-
-
-
- 0
-
-
- |
-
-
-
- eddie@underwood-family.zzz
-
-
- |
-
-
-
-
-
-
-
- manufacturer: [2]
-
-
-
-
- |
-
-
-
- 2019-10-07T09:28:48+00:00
-
-
- |
-
-
-
- 584677
-
-
- |
-
-
-
-
-
-
-
- products: {2}
-
-
-
-
- |
-
-
-
-
-
-
-
- sku: [2]
-
-
-
-
- |
-
-
-
- 36.98
-
-
- |
-
-
-
- 36.98
-
-
- |
-
-
-
- 2
-
-
- |
-
-
-
- 2
-
-
- |
-
-
-
- order
-
-
- |
-
-
-
- eddie
-
-
- |
-
-
-
-
-
-
-
- geoip: {1}
-
-
-
-
- |
-
-
-
-
-
-
-
- EuiIconMock
-
-
-
- |
-
-
-
- 3
-
-
- |
-
-
-
-
-
-
-
- category: [1]
-
-
-
-
- |
-
-
-
- EUR
-
-
- |
-
-
-
- Eddie
-
-
- |
-
-
-
- Eddie Underwood
-
-
- |
-
-
-
- MALE
-
-
- |
-
-
-
- 38
-
-
- |
-
-
-
- Underwood
-
-
- |
-
-
-
-
- |
-
-
-
- Monday
-
-
- |
-
-
-
- 0
-
-
- |
-
-
-
- eddie@underwood-family.zzz
-
-
- |
-
-
-
-
-
-
-
- manufacturer: [2]
-
-
-
-
- |
-
-
-
- 2019-10-07T09:28:48+00:00
-
-
- |
-
-
-
- 584677
-
-
- |
-
-
-
-
-
-
-
- products: {2}
-
-
-
-
- |
-
-
-
-
-
-
-
- sku: [2]
-
-
-
-
- |
-
-
-
- 36.98
-
-
- |
-
-
-
- 36.98
-
-
- |
-
-
-
- 2
-
-
- |
-
-
-
- 2
-
-
- |
-
-
-
- order
-
-
- |
-
-
-
- eddie
-
-
- |
-
-
-
-
-
-
-
- geoip: {1}
-
-
-
-
- |
-
-
-
-
-
-
-
- EuiIconMock
-
-
-
- |
-
-
-
- 4
-
-
- |
-
-
-
-
-
-
-
- category: [1]
-
-
-
-
- |
-
-
-
- EUR
-
-
- |
-
-
-
- Eddie
-
-
- |
-
-
-
- Eddie Underwood
-
-
- |
-
-
-
- MALE
-
-
- |
-
-
-
- 38
-
-
- |
-
-
-
- Underwood
-
-
- |
-
-
-
-
- |
-
-
-
- Monday
-
-
- |
-
-
-
- 0
-
-
- |
-
-
-
- eddie@underwood-family.zzz
-
-
- |
-
-
-
-
-
-
-
- manufacturer: [2]
-
-
-
-
- |
-
-
-
- 2019-10-07T09:28:48+00:00
-
-
- |
-
-
-
- 584677
-
-
- |
-
-
-
-
-
-
-
- products: {2}
-
-
-
-
- |
-
-
-
-
-
-
-
- sku: [2]
-
-
-
-
- |
-
-
-
- 36.98
-
-
- |
-
-
-
- 36.98
-
-
- |
-
-
-
- 2
-
-
- |
-
-
-
- 2
-
-
- |
-
-
-
- order
-
-
- |
-
-
-
- eddie
-
-
- |
-
-
-
-
-
-
-
- geoip: {1}
-
-
-
-
- |
-
-
-
-
-
-
-
- EuiIconMock
-
-
-
- |
-
-
-
- 5
-
-
- |
-
-
-
-
-
-
-
- category: [1]
-
-
-
-
- |
-
-
-
- EUR
-
-
- |
-
-
-
- Eddie
-
-
- |
-
-
-
- Eddie Underwood
-
-
- |
-
-
-
- MALE
-
-
- |
-
-
-
- 38
-
-
- |
-
-
-
- Underwood
-
-
- |
-
-
-
-
- |
-
-
-
- Monday
-
-
- |
-
-
-
- 0
-
-
- |
-
-
-
- eddie@underwood-family.zzz
-
-
- |
-
-
-
-
-
-
-
- manufacturer: [2]
-
-
-
-
- |
-
-
-
- 2019-10-07T09:28:48+00:00
-
-
- |
-
-
-
- 584677
-
-
- |
-
-
-
-
-
-
-
- products: {2}
-
-
-
-
- |
-
-
-
-
-
-
-
- sku: [2]
-
-
-
-
- |
-
-
-
- 36.98
-
-
- |
-
-
-
- 36.98
-
-
- |
-
-
-
- 2
-
-
- |
-
-
-
- 2
-
-
- |
-
-
-
- order
-
-
- |
-
-
-
- eddie
-
-
- |
-
-
-
-
-
-
-
- geoip: {1}
-
-
-
-
- |
-
-
-
-
-
-
-
- EuiIconMock
-
-
-
- |
-
-
-
- 6
-
-
- |
-
-
-
-
-
-
-
- category: [1]
-
-
-
-
- |
-
-
-
- EUR
-
-
- |
-
-
-
- Eddie
-
-
- |
-
-
-
- Eddie Underwood
-
-
- |
-
-
-
- MALE
-
-
- |
-
-
-
- 38
-
-
- |
-
-
-
- Underwood
-
-
- |
-
-
-
-
- |
-
-
-
- Monday
-
-
- |
-
-
-
- 0
-
-
- |
-
-
-
- eddie@underwood-family.zzz
-
-
- |
-
-
-
-
-
-
-
- manufacturer: [2]
-
-
-
-
- |
-
-
-
- 2019-10-07T09:28:48+00:00
-
-
- |
-
-
-
- 584677
-
-
- |
-
-
-
-
-
-
-
- products: {2}
-
-
-
-
- |
-
-
-
-
-
-
-
- sku: [2]
-
-
-
-
- |
-
-
-
- 36.98
-
-
- |
-
-
-
- 36.98
-
-
- |
-
-
-
- 2
-
-
- |
-
-
-
- 2
-
-
- |
-
-
-
- order
-
-
- |
-
-
-
- eddie
-
-
- |
-
-
-
-
-
-
-
- geoip: {1}
-
-
-
-
- |
-
-
-
-
-
-
-
- EuiIconMock
-
-
-
- |
-
-
-
- 7
-
-
- |
-
-
-
-
-
-
-
- category: [1]
-
-
-
-
- |
-
-
-
- EUR
-
-
- |
-
-
-
- Eddie
-
-
- |
-
-
-
- Eddie Underwood
-
-
- |
-
-
-
- MALE
-
-
- |
-
-
-
- 38
-
-
- |
-
-
-
- Underwood
-
-
- |
-
-
-
-
- |
-
-
-
- Monday
-
-
- |
-
-
-
- 0
-
-
- |
-
-
-
- eddie@underwood-family.zzz
-
-
- |
-
-
-
-
-
-
-
- manufacturer: [2]
-
-
-
-
- |
-
-
-
- 2019-10-07T09:28:48+00:00
-
-
- |
-
-
-
- 584677
-
-
- |
-
-
-
-
-
-
-
- products: {2}
-
-
-
-
- |
-
-
-
-
-
-
-
- sku: [2]
-
-
-
-
- |
-
-
-
- 36.98
-
-
- |
-
-
-
- 36.98
-
-
- |
-
-
-
- 2
-
-
- |
-
-
-
- 2
-
-
- |
-
-
-
- order
-
-
- |
-
-
-
- eddie
-
-
- |
-
-
-
-
-
-
-
- geoip: {1}
-
-
-
-
- |
-
-
-
-
-
-
-
-
-
-
-
-
-`;
-
exports[`
spec renders the component 1`] = `