skillbox/client/tests/unit/module-navigation.spec.js

67 lines
1.5 KiB
JavaScript

import { shallowMount } from '@vue/test-utils';
import ModuleNavigation from '@/components/modules/ModuleNavigation.vue';
describe('ModuleNavigation.vue', () => {
it('should flatten an array', () => {
const props = {
modules: [],
me: {},
};
const wrapper = shallowMount(ModuleNavigation, {
propsData: props,
});
let arrayToFlatten = [[1], [2, 3], [4, 5, 6], [7]];
let flattenedArray = wrapper.vm.flattenArray(arrayToFlatten);
expect(flattenedArray).toEqual([1, 2, 3, 4, 5, 6, 7]);
});
it('should find top level assignment', () => {
const props = {
modules: [],
me: {},
};
const wrapper = shallowMount(ModuleNavigation, {
propsData: props,
});
let nodeData = {
type: 'assignment',
id: 1,
};
let assignment = wrapper.vm.findAssignment(nodeData);
expect(assignment).toEqual([nodeData]);
});
it('should find content list assignments', () => {
const props = {
modules: [],
me: {},
};
const wrapper = shallowMount(ModuleNavigation, {
propsData: props,
});
let assignments = [
{
type: 'assignment',
id: 2,
},
{
type: 'assignment',
id: 3,
},
];
let nodeData = {
type: 'content_list_item',
id: 1,
value: assignments,
};
let foundAssignments = wrapper.vm.findAssignment(nodeData);
expect(foundAssignments).toEqual(assignments);
});
});