feat: refs #7088 created test for FetchedTags
gitea/salix-front/pipeline/pr-dev This commit looks good
Details
gitea/salix-front/pipeline/pr-dev This commit looks good
Details
This commit is contained in:
parent
d7b7850f62
commit
85bf4053bb
|
@ -0,0 +1,84 @@
|
|||
import { describe, expect, it } from 'vitest';
|
||||
import { mount } from '@vue/test-utils';
|
||||
import FetchedTags from 'src/components/ui/FetchedTags.vue';
|
||||
|
||||
describe('tags computed property', () => {
|
||||
it('returns an object with the correct keys and values', () => {
|
||||
const wrapper = mount(FetchedTags, {
|
||||
props: {
|
||||
item: {
|
||||
tag1: 'JavaScript',
|
||||
value1: 'Programming Language',
|
||||
tag2: 'Vue',
|
||||
value2: 'Framework',
|
||||
tag3: 'EmptyTag',
|
||||
},
|
||||
tag: 'tag',
|
||||
value: 'value',
|
||||
columns: 2,
|
||||
},
|
||||
});
|
||||
expect(wrapper.vm.tags).toEqual({
|
||||
JavaScript: 'Programming Language',
|
||||
Vue: 'Framework',
|
||||
EmptyTag: '',
|
||||
});
|
||||
});
|
||||
|
||||
it('returns an empty object if the item prop is an empty object', () => {
|
||||
const wrapper = mount(FetchedTags, {
|
||||
props: {
|
||||
item: {},
|
||||
tag: 'tag',
|
||||
value: 'value',
|
||||
},
|
||||
});
|
||||
expect(wrapper.vm.tags).toEqual({});
|
||||
});
|
||||
|
||||
// Test the computed columnStyle with a defined 'columns' prop
|
||||
it('should calculate the correct columnStyle when columns prop is defined', () => {
|
||||
const wrapper = mount(FetchedTags, {
|
||||
props: {
|
||||
item: {
|
||||
tag1: 'JavaScript',
|
||||
value1: 'Programming Language',
|
||||
tag2: 'Vue',
|
||||
value2: 'Framework',
|
||||
tag3: 'EmptyTag',
|
||||
},
|
||||
tag: 'tag',
|
||||
value: 'value',
|
||||
columns: 2,
|
||||
},
|
||||
});
|
||||
|
||||
const expectedStyle = {
|
||||
'grid-template-columns': 'repeat(2, 1fr)', // Should be 3 equal columns
|
||||
'max-width': '8rem', // Should be 3 * 4rem = 12rem
|
||||
};
|
||||
|
||||
expect(wrapper.vm.columnStyle).toEqual(expectedStyle);
|
||||
});
|
||||
|
||||
// Test the computed columnStyle with a falsy 'columns' prop (e.g., null or undefined)
|
||||
it('should return an empty object for columnStyle when columns prop is not defined', () => {
|
||||
const wrapper = mount(FetchedTags, {
|
||||
props: {
|
||||
item: {
|
||||
tag1: 'JavaScript',
|
||||
value1: 'Programming Language',
|
||||
tag2: 'Vue',
|
||||
value2: 'Framework',
|
||||
tag3: 'EmptyTag',
|
||||
},
|
||||
tag: 'tag',
|
||||
value: 'value',
|
||||
columns: null,
|
||||
},
|
||||
});
|
||||
|
||||
// Should return an empty object as no grid layout is applied
|
||||
expect(wrapper.vm.columnStyle).toEqual({});
|
||||
});
|
||||
});
|
Loading…
Reference in New Issue