Files
azuredatastudio/extensions/sql-database-projects/src/test/templates.test.ts
Benjin Dubishar fde031be48 Adding SQL Edge project template (#13558)
* Checkpoint

* removing flag for not creating subfolder

* Adding Edge template

* Removing janky map function

* Adding templates for additional objects

* Updating tests, fixing bug

* Added Edge project icon

* Updating strings to Drew-approved text

* Cleaning up template scripts and Edge project template names
2020-12-03 10:33:31 -08:00

40 lines
1.6 KiB
TypeScript

/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as should from 'should';
import * as path from 'path';
import * as templates from '../templates/templates';
import { shouldThrowSpecificError } from './testUtils';
describe('Templates: loading templates from disk', function (): void {
beforeEach(() => {
templates.reset();
});
it('Should throw error when attempting to use templates before loaded from file', async function (): Promise<void> {
await shouldThrowSpecificError(() => templates.get('foobar'), 'Templates must be loaded from file before attempting to use.');
await shouldThrowSpecificError(() => templates.get('foobar'), 'Templates must be loaded from file before attempting to use.');
});
it('Should load all templates from files', async function (): Promise<void> {
await templates.loadTemplates(path.join(__dirname, '..', '..', 'resources', 'templates'));
// check expected counts
const numScriptObjectTypes = 10;
should(templates.projectScriptTypes().length).equal(numScriptObjectTypes);
should(Object.keys(templates.projectScriptTypes()).length).equal(numScriptObjectTypes);
// check everything has a value
should(templates.newSqlProjectTemplate).not.equal(undefined);
for (const obj of templates.projectScriptTypes()) {
should(obj.templateScript).not.equal(undefined);
}
});
});