UNPKG

@twec/node-suite

Version:

Generic functionality for connecting to NetSuite Web Services from Node

44 lines (36 loc) 1.79 kB
const test = require('ava'); const foldersUtils = require('../lib/folders'); const sampleFolderPathArray = ['home', 'folder', 'sub-folder']; test('doFolderRecordsMatch returns true with matching name and parent name', (t) => { const sampleFolderRecord1 = { name: 'sub-folder', parent: { name: 'folder' } }; const sampleFolderRecord2 = { name: 'sub-folder', parent: { name: 'folder' } }; t.true(foldersUtils.doFolderRecordsMatch(sampleFolderRecord1, sampleFolderRecord2)); }); // TODO: Should test other cases of doFolderRecordsMatch test('getSimpleFolderRecordFromPath returns an object with expected names', (t) => { const record = foldersUtils.getSimpleFolderRecordFromPath(sampleFolderPathArray); t.is(typeof record, 'object'); t.is(record.name, 'sub-folder'); t.is(record.parent.name, 'folder'); }); test('getSimpleFolderRecordFromPath returns object with expected name with single folder', (t) => { const record = foldersUtils.getSimpleFolderRecordFromPath(['hello']); t.is(typeof record, 'object'); t.is(record.name, 'hello'); t.is(record.parent, undefined); }); // TODO: Should test other cases of isFolderRecordInPath test('findFolderRecord finds record based on folder path', (t) => { const expectedMatchRecord = { name: 'sub-folder', parent: { name: 'folder' } }; const sampleFolderRecords = [ { name: 'what' }, { name: 'sub-folder' }, // Nearly a match but missing parent { name: 'folder', parent: { name: 'home' } }, { name: 'NotHere', parent: { name: 'folder' } }, expectedMatchRecord, { name: 'NotTheFolderYoureLookingFor', parent: { name: 'home' } }, { name: 'NotHere' }, ]; const folder = foldersUtils.findFolderRecord(sampleFolderPathArray, sampleFolderRecords); t.is(folder, expectedMatchRecord); });