fix(editor): Showing string numbers and null properly in JSON view (#4513)

* fix(editor): update `vue-json-pretty` package

* fix(editor): JSON view show string numbers and null properly

* fix(editor): testing if RunDataJson.vue display the values according to its type

* chore(editor): resolve package-lock.json conflict

* fix(editor): using @pinia/testing library to mock pinia store

* chore: fix package-lock.json after merge conflicts
This commit is contained in:
Csaba Tuncsik
2022-11-07 12:27:02 +01:00
committed by GitHub
parent 5e0ded4a84
commit f6b85f4a69
6 changed files with 123 additions and 24 deletions

View File

@@ -0,0 +1,61 @@
import Vue from 'vue';
import { PiniaVuePlugin } from 'pinia';
import { createTestingPinia } from '@pinia/testing';
import { render, screen } from '@testing-library/vue';
import RunDataJson from '@/components/RunDataJson.vue';
Vue.use(PiniaVuePlugin);
describe('RunDataJson.vue', () => {
it('renders json values properly', () => {
render(RunDataJson, {
pinia: createTestingPinia(),
props: {
mappingEnabled: true,
editMode: { enabled: false },
inputData: [{
json: {
list: [1,2,3],
record: { name: 'Joe' },
myNumber: 123,
myStringNumber: '456',
myStringText: 'abc',
nil: null,
d: undefined,
},
}],
node: {
parameters: {
keepOnlySet: false,
values: {},
options: {},
},
id: '820ea733-d8a6-4379-8e73-88a2347ea003',
name: 'Set',
type: 'n8n-nodes-base.set',
typeVersion: 1,
position: [
380,
1060,
],
disabled: false,
},
},
mocks: {
$locale: {
baseText() {
return '';
},
},
$store: {
getters: {},
},
},
});
expect(screen.getByText('123')).toBeInTheDocument();
expect(screen.getByText('"456"')).toBeInTheDocument();
expect(screen.getByText('"abc"')).toBeInTheDocument();
expect(screen.getByText('null')).toBeInTheDocument();
expect(screen.queryByText('undefined')).not.toBeInTheDocument();
});
});