From d7974f1336d9ca0b0f83d57ec280dbab4724599e Mon Sep 17 00:00:00 2001 From: Lily Kuang Date: Fri, 17 Jun 2022 19:15:43 -0700 Subject: [PATCH] make codecov happy --- .../src/connection/SupersetClientClass.ts | 49 ++++++++++--------- .../connection/SupersetClientClass.test.ts | 6 +++ 2 files changed, 31 insertions(+), 24 deletions(-) diff --git a/superset-frontend/packages/superset-ui-core/src/connection/SupersetClientClass.ts b/superset-frontend/packages/superset-ui-core/src/connection/SupersetClientClass.ts index d345f14a397a..b7281d025903 100644 --- a/superset-frontend/packages/superset-ui-core/src/connection/SupersetClientClass.ts +++ b/superset-frontend/packages/superset-ui-core/src/connection/SupersetClientClass.ts @@ -120,32 +120,33 @@ export default class SupersetClientClass { } async postForm(url: string, payload: Record, target = '_blank') { - if (!url) return; - await this.ensureAuth(); - const hiddenForm = document.createElement('form'); - hiddenForm.action = url; - hiddenForm.method = 'POST'; - hiddenForm.target = target; - const payloadWithToken: Record = { - ...payload, - csrf_token: this.csrfToken!, - }; + if (url) { + await this.ensureAuth(); + const hiddenForm = document.createElement('form'); + hiddenForm.action = url; + hiddenForm.method = 'POST'; + hiddenForm.target = target; + const payloadWithToken: Record = { + ...payload, + csrf_token: this.csrfToken!, + }; + + if (this.guestToken) { + payloadWithToken.guest_token = this.guestToken; + } - if (this.guestToken) { - payloadWithToken.guest_token = this.guestToken; + Object.entries(payloadWithToken).forEach(([key, value]) => { + const data = document.createElement('input'); + data.type = 'hidden'; + data.name = key; + data.value = value; + hiddenForm.appendChild(data); + }); + + document.body.appendChild(hiddenForm); + hiddenForm.submit(); + document.body.removeChild(hiddenForm); } - - Object.entries(payloadWithToken).forEach(([key, value]) => { - const data = document.createElement('input'); - data.type = 'hidden'; - data.name = key; - data.value = value; - hiddenForm.appendChild(data); - }); - - document.body.appendChild(hiddenForm); - hiddenForm.submit(); - document.body.removeChild(hiddenForm); } async reAuthenticate() { diff --git a/superset-frontend/packages/superset-ui-core/test/connection/SupersetClientClass.test.ts b/superset-frontend/packages/superset-ui-core/test/connection/SupersetClientClass.test.ts index 15e9d5ec35e6..4db26b05b415 100644 --- a/superset-frontend/packages/superset-ui-core/test/connection/SupersetClientClass.test.ts +++ b/superset-frontend/packages/superset-ui-core/test/connection/SupersetClientClass.test.ts @@ -614,6 +614,7 @@ describe('SupersetClientClass', () => { const guestToken = 'test-guest-token'; const postFormPayload = { number: 123, array: [1, 2, 3] }; + let authSpy: jest.SpyInstance; let client: SupersetClientClass; let appendChild: any; let removeChild: any; @@ -622,6 +623,7 @@ describe('SupersetClientClass', () => { beforeEach(async () => { client = new SupersetClientClass({ protocol, host }); + authSpy = jest.spyOn(SupersetClientClass.prototype, 'ensureAuth'); await client.init(); appendChild = jest.fn(); removeChild = jest.fn(); @@ -658,6 +660,7 @@ describe('SupersetClientClass', () => { expect(appendChild.mock.calls).toHaveLength(1); expect(removeChild.mock.calls).toHaveLength(1); + expect(authSpy).toHaveBeenCalledTimes(1); }); it('makes postForm request with guest token', async () => { @@ -676,6 +679,7 @@ describe('SupersetClientClass', () => { expect(appendChild.mock.calls).toHaveLength(1); expect(removeChild.mock.calls).toHaveLength(1); + expect(authSpy).toHaveBeenCalledTimes(1); }); it('makes postForm request with payload', async () => { @@ -692,6 +696,7 @@ describe('SupersetClientClass', () => { expect(appendChild.mock.calls).toHaveLength(1); expect(removeChild.mock.calls).toHaveLength(1); expect(submit.mock.calls).toHaveLength(1); + expect(authSpy).toHaveBeenCalledTimes(1); }); it('should do nothing when url is empty string', async () => { @@ -700,6 +705,7 @@ describe('SupersetClientClass', () => { expect(createElement.mock.calls).toHaveLength(0); expect(appendChild.mock.calls).toHaveLength(0); expect(removeChild.mock.calls).toHaveLength(0); + expect(authSpy).toHaveBeenCalledTimes(0); }); }); });