From f0a5812ec274d9cfa5b5fc7f39aab2ca87f39600 Mon Sep 17 00:00:00 2001 From: leilzh Date: Fri, 29 Jan 2021 17:21:05 +0800 Subject: [PATCH] fix: botProject call outside service when running unit tests --- .../models/bot/__tests__/botProject.test.ts | 26 +++++++++---------- .../packages/server/src/models/bot/builder.ts | 4 +-- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/Composer/packages/server/src/models/bot/__tests__/botProject.test.ts b/Composer/packages/server/src/models/bot/__tests__/botProject.test.ts index 76317d3591..9999edf224 100644 --- a/Composer/packages/server/src/models/bot/__tests__/botProject.test.ts +++ b/Composer/packages/server/src/models/bot/__tests__/botProject.test.ts @@ -257,9 +257,10 @@ describe('lu operations', () => { describe('qna operations', () => { it('should get qna endpoint key', async () => { await proj.init(); - const subscriptionKey = '21640b8e2110449abfdfccf2f6bbee02'; + proj.builder.qnaBuilder.getEndpointKeys = jest.fn(() => ({ primaryEndpointKey: 'new key' })); + const subscriptionKey = 'test'; const endpointKey = await proj.updateQnaEndpointKey(subscriptionKey); - expect(endpointKey).toBe('d423d198-b0cc-46b3-a48c-e32d7a7e5b8a'); + expect(endpointKey).toBe('new key'); }); }); describe('buildFiles', () => { @@ -272,11 +273,11 @@ describe('buildFiles', () => { } }); - xit('should build lu & qna file successfully', async () => { + it('should build lu & qna file successfully', async () => { proj.init(); const luisConfig = { authoringEndpoint: '', - authoringKey: '412f0bfc19824ceca7a6076d05478850', + authoringKey: 'test', authoringRegion: 'westus', defaultLanguage: 'en-us', endpoint: '', @@ -287,7 +288,7 @@ describe('buildFiles', () => { const qnaConfig = { endpointKey: '', qnaRegion: 'westus', - subscriptionKey: '21640b8e2110449abfdfccf2f6bbee02', + subscriptionKey: 'test', }; const luResource: Resource[] = [ { id: 'a.en-us', isEmpty: false }, @@ -299,16 +300,13 @@ describe('buildFiles', () => { { id: 'b.en-us', isEmpty: false }, { id: 'bot1.en-us', isEmpty: false }, ]; + proj.builder.luBuilder.build = jest.fn((items) => items.map((item) => item.id)); + proj.builder.luBuilder.writeDialogAssets = jest.fn(); + proj.builder.qnaBuilder.build = jest.fn((items) => items.map((item) => item.id)); + proj.builder.qnaBuilder.writeDialogAssets = jest.fn(); await proj.buildFiles({ luisConfig, qnaConfig, luResource, qnaResource }); - - try { - if (fs.existsSync(path)) { - const files = fs.readdirSync(path); - expect(files).toContain('a.lu.qna.dialog'); - } - } catch (err) { - // ignore - } + expect(proj.builder.luBuilder.build).toHaveReturnedWith(['a', 'b', 'bot1']); + expect(proj.builder.qnaBuilder.build).toHaveReturnedWith(['a', 'b', 'bot1']); }); }); diff --git a/Composer/packages/server/src/models/bot/builder.ts b/Composer/packages/server/src/models/bot/builder.ts index 9d84908eee..504b565e72 100644 --- a/Composer/packages/server/src/models/bot/builder.ts +++ b/Composer/packages/server/src/models/bot/builder.ts @@ -61,10 +61,10 @@ export class Builder { private _locale: string; private containOrchestrator = false; - private luBuilder = new luBuild.Builder((message) => { + public luBuilder = new luBuild.Builder((message) => { log(message); }); - private qnaBuilder = new qnaBuild.Builder((message) => { + public qnaBuilder = new qnaBuild.Builder((message) => { log(message); });