UNPKG

falcotura-atv-sdk

Version:

Librería (SDK) de Javascript/NodeJS para acceder al API de Administración Tributaria Virtual (ATV) del Ministerio de Hacienda.

85 lines 3.32 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const axios_1 = __importDefault(require("axios")); const querystring_1 = __importDefault(require("querystring")); const GetToken_1 = require("../GetToken"); const ATV_1 = require("../../../ATV"); jest.mock('@src/ATV'); jest.mock('axios'); jest.mock('querystring'); const fetchResponse = { data: { access_token: 'access_token', expires_in: 3600, refresh_token: 'refresh_token', refresh_expires_in: 1209600, session_state: 'session_state', token_type: 'Bearer', scope: 'openid' } }; describe('GetToken', () => { let atv; let getToken; beforeEach(() => { atv = new ATV_1.ATV(); getToken = new GetToken_1.GetToken(atv); axios_1.default.post.mockResolvedValue(fetchResponse); }); afterEach(() => { jest.resetAllMocks(); }); it('should call axios.post with correct parameters', () => __awaiter(void 0, void 0, void 0, function* () { // Arrange const dto = { username: 'testuser', password: 'testpassword' }; const expectedUrl = 'https://idp.comprobanteselectronicos.go.cr/auth/realms/rut/protocol/openid-connect/token'; const expectedData = querystring_1.default.stringify({ client_id: 'api-stag', grant_type: 'password', client_secret: '', username: 'testuser', password: 'testpassword' }); const expectedConfig = { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }; // Act yield getToken.execute(dto); // Assert expect(axios_1.default.post).toHaveBeenCalledWith(expectedUrl, expectedData, expectedConfig); })); it('should return expected response', () => __awaiter(void 0, void 0, void 0, function* () { // Arrange const expectedResponse = { accessToken: 'access_token', expiresIn: 3600, refreshToken: 'refresh_token', refreshExpiresIn: 1209600, sessionState: 'session_state', tokenType: 'Bearer', scope: 'openid' }; // Act const result = yield getToken.execute({ username: 'testuser', password: 'testpassword' }); // Assert expect(result).toEqual(expectedResponse); })); }); //# sourceMappingURL=GetToken.test.js.map