From ba7a69dfc48bd640369f495cfc15f46141e5ddea Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Thu, 6 Sep 2018 11:25:57 +0200 Subject: [PATCH] Stackdriver: Added test for getProjects --- .../stackdriver/specs/datasource.test.ts | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/public/app/plugins/datasource/stackdriver/specs/datasource.test.ts b/public/app/plugins/datasource/stackdriver/specs/datasource.test.ts index ba414cfcda9..1fb06f7c65a 100644 --- a/public/app/plugins/datasource/stackdriver/specs/datasource.test.ts +++ b/public/app/plugins/datasource/stackdriver/specs/datasource.test.ts @@ -56,4 +56,41 @@ describe('StackdriverDataSource', () => { }); }); }); + + describe('when performing getProjects', () => { + describe('and call to resource manager api succeeds', () => { + let ds; + let result; + beforeEach(async () => { + const response = { + projects: [ + { + projectNumber: '853996325002', + projectId: 'test-project', + lifecycleState: 'ACTIVE', + name: 'Test Project', + createTime: '2015-06-02T14:16:08.520Z', + parent: { + type: 'organization', + id: '853996325002', + }, + }, + ], + }; + const backendSrv = { + async datasourceRequest() { + return Promise.resolve({ status: 200, data: response }); + }, + }; + ds = new StackdriverDataSource({}, backendSrv); + result = await ds.getProjects(); + }); + + it('should return successfully', () => { + expect(result.length).toBe(1); + expect(result[0].id).toBe('test-project'); + expect(result[0].name).toBe('Test Project'); + }); + }); + }); });