/* global describe, it, expect */ import PageTree from './page-tree'; import { page } from '../stores/modules/page-store.spec'; describe('Page store', function() { it('should parse flat page list to a sorted page tree', function() { const flatPages = [ { ...page, name: 'page1', id: '1' }, { ...page, name: 'page2', id: '2' }, { ...page, name: 'subpage1', id: '3', parentId: '1' }, { ...page, name: 'subsubpage2', id: '4', parentId: '3' }, { ...page, name: 'subsubpage1', id: '5', parentId: '3' }, ]; const expectedPageTree = [ { ...page, name: 'page1', id: '1', path: '/', children: [ { ...page, name: 'subpage1', id: '3', path: '/subpage1', isChild: true, parentId: '1', children: [ { ...page, name: 'subsubpage1', id: '5', path: '/subpage1/subsubpage1', children: [], parentId: '3', isChild: true }, { ...page, name: 'subsubpage2', id: '4', path: '/subpage1/subsubpage2', children: [], parentId: '3', isChild: true } ] } ] }, { ...page, name: 'page2', id: '2', path: '/', children: [] } ]; const pageTree = new PageTree(flatPages).items; expect(pageTree).toEqual(expectedPageTree); }); it('should not break when parsing an empty page list to a tree', function() { const pageTree = new PageTree([]).items; expect(pageTree.length).toBe(0); }); });