1
0
mirror of https://github.com/lana-k/sqliteviz.git synced 2025-12-06 18:18:53 +08:00

update tests

This commit is contained in:
lana-k
2025-01-05 17:13:55 +01:00
parent eee67763b5
commit e14696b59e
26 changed files with 523 additions and 409 deletions

View File

@@ -42,7 +42,7 @@ describe('CsvJsonImport.vue', () => {
// mount the component
wrapper = mount(CsvJsonImport, {
store,
propsData: {
props: {
file,
dialogName: 'addCsvJson',
db
@@ -86,10 +86,10 @@ describe('CsvJsonImport.vue', () => {
expect(wrapper.findComponent({ name: 'check-box' }).vm.checked).to.equal(true)
const rows = wrapper.findAll('tbody tr')
expect(rows).to.have.lengthOf(2)
expect(rows.at(0).findAll('td').at(0).text()).to.equal('foo')
expect(rows.at(0).findAll('td').at(1).text()).to.equal('1')
expect(rows.at(1).findAll('td').at(0).text()).to.equal('bar')
expect(rows.at(1).findAll('td').at(1).text()).to.equal('2')
expect(rows[0].findAll('td')[0].text()).to.equal('foo')
expect(rows[0].findAll('td')[1].text()).to.equal('1')
expect(rows[1].findAll('td')[0].text()).to.equal('bar')
expect(rows[1].findAll('td')[1].text()).to.equal('2')
expect(wrapper.findComponent({ name: 'logs' }).text())
.to.include('Information about row 0. Comma was used as a standart delimiter.')
expect(wrapper.findComponent({ name: 'logs' }).text())
@@ -163,8 +163,8 @@ describe('CsvJsonImport.vue', () => {
let rows = wrapper.findAll('tbody tr')
expect(rows).to.have.lengthOf(1)
expect(rows.at(0).findAll('td').at(0).text()).to.equal('bar')
expect(rows.at(0).findAll('td').at(1).text()).to.equal('2')
expect(rows[0].findAll('td')[0].text()).to.equal('bar')
expect(rows[0].findAll('td')[1].text()).to.equal('2')
expect(wrapper.findComponent({ name: 'logs' }).text())
.to.include('Preview parsing is completed in')
@@ -193,8 +193,8 @@ describe('CsvJsonImport.vue', () => {
await csv.parse.returnValues[2]
rows = wrapper.findAll('tbody tr')
expect(rows).to.have.lengthOf(1)
expect(rows.at(0).findAll('td').at(0).text()).to.equal('baz')
expect(rows.at(0).findAll('td').at(1).text()).to.equal('3')
expect(rows[0].findAll('td')[0].text()).to.equal('baz')
expect(rows[0].findAll('td')[1].text()).to.equal('3')
expect(wrapper.findComponent({ name: 'logs' }).text())
.to.contain(
'Error in row 0. Quote is missed. ' +
@@ -220,8 +220,8 @@ describe('CsvJsonImport.vue', () => {
await csv.parse.returnValues[3]
rows = wrapper.findAll('tbody tr')
expect(rows).to.have.lengthOf(1)
expect(rows.at(0).findAll('td').at(0).text()).to.equal('qux')
expect(rows.at(0).findAll('td').at(1).text()).to.equal('4')
expect(rows[0].findAll('td')[0].text()).to.equal('qux')
expect(rows[0].findAll('td')[1].text()).to.equal('4')
expect(wrapper.findComponent({ name: 'logs' }).text())
.to.contain('Preview parsing is completed in')
@@ -242,8 +242,8 @@ describe('CsvJsonImport.vue', () => {
await csv.parse.returnValues[4]
rows = wrapper.findAll('tbody tr')
expect(rows).to.have.lengthOf(1)
expect(rows.at(0).findAll('td').at(0).text()).to.equal('corge')
expect(rows.at(0).findAll('td').at(1).text()).to.equal('5')
expect(rows[0].findAll('td')[0].text()).to.equal('corge')
expect(rows[0].findAll('td')[1].text()).to.equal('5')
expect(wrapper.findComponent({ name: 'logs' }).text())
.to.include('Preview parsing is completed in')
@@ -289,7 +289,7 @@ describe('CsvJsonImport.vue', () => {
await wrapper.vm.$nextTick()
// "Parsing CSV..." in the logs
expect(wrapper.findComponent({ name: 'logs' }).findAll('.msg').at(1).text())
expect(wrapper.findComponent({ name: 'logs' }).findAll('.msg')[1].text())
.to.equal('Parsing CSV...')
// After 1 second - loading indicator is shown
@@ -362,7 +362,7 @@ describe('CsvJsonImport.vue', () => {
await wrapper.vm.$nextTick()
// Parsing success in the logs
expect(wrapper.findComponent({ name: 'logs' }).findAll('.msg').at(1).text())
expect(wrapper.findComponent({ name: 'logs' }).findAll('.msg')[1].text())
.to.include('2 rows are parsed successfully in')
// All the dialog controls are disabled
@@ -430,8 +430,8 @@ describe('CsvJsonImport.vue', () => {
// Parsing success in the logs
const logs = wrapper.findComponent({ name: 'logs' }).findAll('.msg')
expect(logs).to.have.lengthOf(4)
expect(logs.at(1).text()).to.include('2 rows are parsed in')
expect(logs.at(2).text()).to.equals('Comma was used as a standart delimiter.')
expect(logs[1].text()).to.include('2 rows are parsed in')
expect(logs[2].text()).to.equals('Comma was used as a standart delimiter.')
// All the dialog controls are disabled
expect(wrapper.findComponent({ name: 'delimiter-selector' }).vm.disabled).to.equal(true)
@@ -493,8 +493,8 @@ describe('CsvJsonImport.vue', () => {
// Parsing success in the logs
const logs = wrapper.findComponent({ name: 'logs' }).findAll('.msg')
expect(logs).to.have.lengthOf(3)
expect(logs.at(1).text()).to.include('Parsing ended with errors.')
expect(logs.at(2).text()).to.equals('Something is wrong.')
expect(logs[1].text()).to.include('Parsing ended with errors.')
expect(logs[2].text()).to.equals('Something is wrong.')
// All the dialog controls are enabled
expect(wrapper.findComponent({ name: 'delimiter-selector' }).vm.disabled).to.equal(false)
@@ -552,7 +552,7 @@ describe('CsvJsonImport.vue', () => {
await wrapper.vm.$nextTick()
// Parsing success in the logs
expect(wrapper.findComponent({ name: 'logs' }).findAll('.msg').at(2).text())
expect(wrapper.findComponent({ name: 'logs' }).findAll('.msg')[2].text())
.to.equal('Importing CSV into a SQLite database...')
// After 1 second - loading indicator is shown
@@ -623,7 +623,7 @@ describe('CsvJsonImport.vue', () => {
// Import success in the logs
const logs = wrapper.findComponent({ name: 'logs' }).findAll('.msg')
expect(logs).to.have.lengthOf(3)
expect(logs.at(2).text()).to.contain('Importing CSV into a SQLite database is completed in')
expect(logs[2].text()).to.contain('Importing CSV into a SQLite database is completed in')
// All the dialog controls are enabled
expect(wrapper.findComponent({ name: 'delimiter-selector' }).vm.disabled).to.equal(false)
@@ -680,8 +680,8 @@ describe('CsvJsonImport.vue', () => {
// Import success in the logs
const logs = wrapper.findComponent({ name: 'logs' }).findAll('.msg')
expect(logs).to.have.lengthOf(4)
expect(logs.at(2).text()).to.contain('Importing CSV into a SQLite database...')
expect(logs.at(3).text()).to.equal('Error: fail.')
expect(logs[2].text()).to.contain('Importing CSV into a SQLite database...')
expect(logs[3].text()).to.equal('Error: fail.')
// All the dialog controls are enabled
expect(wrapper.findComponent({ name: 'delimiter-selector' }).vm.disabled).to.equal(false)
@@ -832,7 +832,7 @@ describe('CsvJsonImport.vue - json', () => {
// mount the component
wrapper = mount(CsvJsonImport, {
store,
propsData: {
props: {
file,
dialogName: 'addCsvJson',
db
@@ -857,7 +857,7 @@ describe('CsvJsonImport.vue - json', () => {
expect(wrapper.findComponent({ name: 'check-box' }).exists()).to.equal(false)
const rows = wrapper.findAll('tbody tr')
expect(rows).to.have.lengthOf(1)
expect(rows.at(0).findAll('td').at(0).text()).to.equal([
expect(rows[0].findAll('td')[0].text()).to.equal([
'{',
' "foo": [',
' 1,',
@@ -913,7 +913,7 @@ describe('CsvJsonImport.vue - json', () => {
await wrapper.vm.$nextTick()
// "Parsing JSON..." in the logs
expect(wrapper.findComponent({ name: 'logs' }).findAll('.msg').at(1).text())
expect(wrapper.findComponent({ name: 'logs' }).findAll('.msg')[1].text())
.to.equal('Parsing JSON...')
// After 1 second - loading indicator is shown
@@ -954,7 +954,7 @@ describe('CsvJsonImport.vue - json', () => {
await wrapper.vm.$nextTick()
// Parsing success in the logs
expect(wrapper.findComponent({ name: 'logs' }).findAll('.msg').at(2).text())
expect(wrapper.findComponent({ name: 'logs' }).findAll('.msg')[2].text())
.to.equal('Importing JSON into a SQLite database...')
// After 1 second - loading indicator is shown
@@ -994,7 +994,7 @@ describe('CsvJsonImport.vue - json', () => {
// Import success in the logs
const logs = wrapper.findComponent({ name: 'logs' }).findAll('.msg')
expect(logs).to.have.lengthOf(3)
expect(logs.at(2).text()).to.contain('Importing JSON into a SQLite database is completed in')
expect(logs[2].text()).to.contain('Importing JSON into a SQLite database is completed in')
// All the dialog controls are enabled
expect(wrapper.find('#import-cancel').element.disabled).to.equal(false)
@@ -1041,7 +1041,7 @@ describe('CsvJsonImport.vue - ndjson', () => {
// mount the component
wrapper = mount(CsvJsonImport, {
store,
propsData: {
props: {
file,
dialogName: 'addCsvJson',
db
@@ -1078,7 +1078,7 @@ describe('CsvJsonImport.vue - ndjson', () => {
expect(wrapper.findComponent({ name: 'check-box' }).exists()).to.equal(false)
const rows = wrapper.findAll('tbody tr')
expect(rows).to.have.lengthOf(1)
expect(rows.at(0).findAll('td').at(0).text()).to.equal('{ "foo": [ 1, 2, 3 ] }')
expect(rows[0].findAll('td')[0].text()).to.equal('{ "foo": [ 1, 2, 3 ] }')
expect(wrapper.findComponent({ name: 'logs' }).text())
.to.include('Preview parsing is completed in')
expect(wrapper.find('#import-finish').isVisible()).to.equal(false)
@@ -1122,7 +1122,7 @@ describe('CsvJsonImport.vue - ndjson', () => {
await wrapper.vm.$nextTick()
// "Parsing JSON..." in the logs
expect(wrapper.findComponent({ name: 'logs' }).findAll('.msg').at(1).text())
expect(wrapper.findComponent({ name: 'logs' }).findAll('.msg')[1].text())
.to.equal('Parsing JSON...')
// After 1 second - loading indicator is shown
@@ -1188,7 +1188,7 @@ describe('CsvJsonImport.vue - ndjson', () => {
await wrapper.vm.$nextTick()
// Parsing success in the logs
expect(wrapper.findComponent({ name: 'logs' }).findAll('.msg').at(2).text())
expect(wrapper.findComponent({ name: 'logs' }).findAll('.msg')[2].text())
.to.equal('Importing JSON into a SQLite database...')
// After 1 second - loading indicator is shown
@@ -1253,7 +1253,7 @@ describe('CsvJsonImport.vue - ndjson', () => {
// Import success in the logs
const logs = wrapper.findComponent({ name: 'logs' }).findAll('.msg')
expect(logs).to.have.lengthOf(3)
expect(logs.at(2).text()).to.contain('Importing JSON into a SQLite database is completed in')
expect(logs[2].text()).to.contain('Importing JSON into a SQLite database is completed in')
// All the dialog controls are enabled
expect(wrapper.find('#import-cancel').element.disabled).to.equal(false)

View File

@@ -5,19 +5,19 @@ import DelimiterSelector from '@/components/CsvJsonImport/DelimiterSelector'
describe('DelimiterSelector', async () => {
it('shows the name of value', async () => {
let wrapper = shallowMount(DelimiterSelector, {
propsData: { value: ',' }
props: { value: ',' }
})
expect(wrapper.find('input').element.value).to.equal(',')
expect(wrapper.find('.name').text()).to.equal('comma')
wrapper = shallowMount(DelimiterSelector, {
propsData: { value: '\t' }
props: { value: '\t' }
})
expect(wrapper.find('input').element.value).to.equal('\t')
expect(wrapper.find('.name').text()).to.equal('horizontal tab')
wrapper = shallowMount(DelimiterSelector, {
propsData: { value: '' }
props: { value: '' }
})
expect(wrapper.find('input').element.value).to.equal('')
expect(wrapper.find('.name').text()).to.equal('')
@@ -25,7 +25,7 @@ describe('DelimiterSelector', async () => {
it('clears the field', async () => {
const wrapper = mount(DelimiterSelector, {
propsData: { value: ',' }
props: { value: ',' }
})
await wrapper.findComponent({ name: 'clear-icon' }).trigger('click')
@@ -36,7 +36,7 @@ describe('DelimiterSelector', async () => {
it('changes value by typing', async () => {
const wrapper = shallowMount(DelimiterSelector, {
propsData: { value: ',' }
props: { value: ',' }
})
await wrapper.find('input').setValue(';')
@@ -46,7 +46,7 @@ describe('DelimiterSelector', async () => {
it('changes value by selection from the list', async () => {
const wrapper = mount(DelimiterSelector, {
propsData: { value: '|' }
props: { value: '|' }
})
await wrapper.findComponent({ name: 'drop-down-chevron' }).trigger('click')
@@ -59,7 +59,7 @@ describe('DelimiterSelector', async () => {
it("doesn't change value when becomes empty", async () => {
const wrapper = mount(DelimiterSelector, {
propsData: { value: '|' }
props: { value: '|' }
})
await wrapper.find('input').setValue('')
@@ -72,18 +72,18 @@ describe('DelimiterSelector', async () => {
const wrapper = mount(DelimiterSelector, {
attachTo: place,
propsData: { value: '|' }
props: { value: '|' }
})
await wrapper.find('.name').trigger('click')
expect(wrapper.find('input').element).to.equal(document.activeElement)
place.remove()
wrapper.destroy()
wrapper.unmount()
})
it('disabled', async () => {
const wrapper = mount(DelimiterSelector, {
propsData: { value: '|', disabled: true }
props: { value: '|', disabled: true }
})
await wrapper.findComponent({ name: 'clear-icon' }).trigger('click')
@@ -97,7 +97,7 @@ describe('DelimiterSelector', async () => {
it('has filled class when input is not empty', async () => {
const wrapper = shallowMount(DelimiterSelector, {
propsData: { value: ',' }
props: { value: ',' }
})
await wrapper.vm.$nextTick()
expect(wrapper.find('input').classes()).to.include('filled')