From 30090fe195292572f1b1038ce6dd6163d490b422 Mon Sep 17 00:00:00 2001 From: Leandro Costa Date: Fri, 27 Jan 2023 08:24:12 -0300 Subject: [PATCH] Refatorando testes para reutilizar codigo de validacao --- __tests__/lhisp-oauth-client.test.ts | 76 ++++++++-------------------- 1 file changed, 21 insertions(+), 55 deletions(-) diff --git a/__tests__/lhisp-oauth-client.test.ts b/__tests__/lhisp-oauth-client.test.ts index b5909c6..54f5e66 100644 --- a/__tests__/lhisp-oauth-client.test.ts +++ b/__tests__/lhisp-oauth-client.test.ts @@ -20,18 +20,9 @@ describe("Get Access Token", ()=>{ it("Shoud Get with Standard Config", async ()=>{ const cli = getOauthClient(); mockedAxios.request.mockReset(); - mockedAxios.request.mockResolvedValueOnce({ - data: mockedAccessToken - }); + mockedAxios.request.mockResolvedValueOnce({ data: mockedAccessToken }); - const now = Date.now(); - const accessToken = await cli.getAccessToken(); - expect(accessToken).toBeDefined(); - expect(accessToken.token_type).toBe(mockedAccessToken.token_type); - expect(accessToken.access_token).toBe(mockedAccessToken.access_token); - expect(accessToken.expires_in).toBe(mockedAccessToken.expires_in); - expect(accessToken.scope).toBe(mockedAccessToken.scope); - expect(accessToken.created_at).toBeGreaterThanOrEqual(now); + await accessTokenValidator(cli); expect(mockedAxios.request).toBeCalledWith(expect.objectContaining({ url: authUrl, method: "POST", @@ -49,18 +40,9 @@ describe("Get Access Token", ()=>{ authHeaderName: 'CustomAuthorizationHeader', }); mockedAxios.request.mockReset(); - mockedAxios.request.mockResolvedValueOnce({ - data: mockedAccessToken - }); + mockedAxios.request.mockResolvedValueOnce({ data: mockedAccessToken }); - const now = Date.now(); - const accessToken = await cli.getAccessToken(); - expect(accessToken).toBeDefined(); - expect(accessToken.token_type).toBe(mockedAccessToken.token_type); - expect(accessToken.access_token).toBe(mockedAccessToken.access_token); - expect(accessToken.expires_in).toBe(mockedAccessToken.expires_in); - expect(accessToken.scope).toBe(mockedAccessToken.scope); - expect(accessToken.created_at).toBeGreaterThanOrEqual(now); + await accessTokenValidator(cli); expect(mockedAxios.request).toBeCalledWith(expect.objectContaining({ url: authUrl, method: "POST", @@ -78,18 +60,9 @@ describe("Get Access Token", ()=>{ grantType: 'PermissaoCustom', }); mockedAxios.request.mockReset(); - mockedAxios.request.mockResolvedValueOnce({ - data: mockedAccessToken - }); + mockedAxios.request.mockResolvedValueOnce({ data: mockedAccessToken }); - const now = Date.now(); - const accessToken = await cli.getAccessToken(); - expect(accessToken).toBeDefined(); - expect(accessToken.token_type).toBe(mockedAccessToken.token_type); - expect(accessToken.access_token).toBe(mockedAccessToken.access_token); - expect(accessToken.expires_in).toBe(mockedAccessToken.expires_in); - expect(accessToken.scope).toBe(mockedAccessToken.scope); - expect(accessToken.created_at).toBeGreaterThanOrEqual(now); + await accessTokenValidator(cli); expect(mockedAxios.request).toBeCalledWith(expect.objectContaining({ url: authUrl, method: "POST", @@ -107,18 +80,9 @@ describe("Get Access Token", ()=>{ authScope: 'EscopoCustom', }); mockedAxios.request.mockReset(); - mockedAxios.request.mockResolvedValueOnce({ - data: mockedAccessToken - }); + mockedAxios.request.mockResolvedValueOnce({ data: mockedAccessToken }); - const now = Date.now(); - const accessToken = await cli.getAccessToken(); - expect(accessToken).toBeDefined(); - expect(accessToken.token_type).toBe(mockedAccessToken.token_type); - expect(accessToken.access_token).toBe(mockedAccessToken.access_token); - expect(accessToken.expires_in).toBe(mockedAccessToken.expires_in); - expect(accessToken.scope).toBe(mockedAccessToken.scope); - expect(accessToken.created_at).toBeGreaterThanOrEqual(now); + await accessTokenValidator(cli); expect(mockedAxios.request).toBeCalledWith(expect.objectContaining({ url: authUrl, method: "POST", @@ -136,18 +100,9 @@ describe("Get Access Token", ()=>{ sendAuthCredentialsOnRequestBody: true, }); mockedAxios.request.mockReset(); - mockedAxios.request.mockResolvedValueOnce({ - data: mockedAccessToken - }); + mockedAxios.request.mockResolvedValueOnce({ data: mockedAccessToken }); - const now = Date.now(); - const accessToken = await cli.getAccessToken(); - expect(accessToken).toBeDefined(); - expect(accessToken.token_type).toBe(mockedAccessToken.token_type); - expect(accessToken.access_token).toBe(mockedAccessToken.access_token); - expect(accessToken.expires_in).toBe(mockedAccessToken.expires_in); - expect(accessToken.scope).toBe(mockedAccessToken.scope); - expect(accessToken.created_at).toBeGreaterThanOrEqual(now); + await accessTokenValidator(cli); expect(mockedAxios.request).toBeCalledWith(expect.objectContaining({ url: authUrl, method: "POST", @@ -160,6 +115,17 @@ describe("Get Access Token", ()=>{ }); }); +async function accessTokenValidator(cli: LhispOauthClient){ + const now = Date.now(); + const accessToken = await cli.getAccessToken(); + expect(accessToken).toBeDefined(); + expect(accessToken.token_type).toBe(mockedAccessToken.token_type); + expect(accessToken.access_token).toBe(mockedAccessToken.access_token); + expect(accessToken.expires_in).toBe(mockedAccessToken.expires_in); + expect(accessToken.scope).toBe(mockedAccessToken.scope); + expect(accessToken.created_at).toBeGreaterThanOrEqual(now); +} + function getOauthClient(opt:LhispOauthClientConstructorParams=baseClientParams){ return new LhispOauthClient(opt); }