Skip to content

Commit

Permalink
Fixing tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
Jhonnanthn Balsas committed Jun 24, 2020
1 parent f3231d8 commit 338c094
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 9 deletions.
6 changes: 5 additions & 1 deletion examples/reports-list-message.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,12 @@
const { Client } = require('../dist');

const client = new Client(process.env.ZENVIA_API_TOKEN);
const reportClient = client.getMessagesReportClient();

client.listMessageReport('2020-01-10', '2020-01-20')
reportClient.getEntries({
startDate: '2020-01-10',
endDate: '2020-01-15',
})
.then(response => {
console.log('Response:', response);
})
Expand Down
5 changes: 3 additions & 2 deletions src/lib/reports/abstract.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import * as request from '../../utils/request';
import { Logger } from '../../utils/logger';
import { ILoggerInstance } from '../../types';
// tslint:disable-next-line: no-empty-interface
export interface IReportEntry {
}
export interface IReportFilters {
Expand All @@ -17,14 +18,14 @@ export class AbstractReport<E extends IReportEntry, F extends IReportFilters> {

getEntries(filters: F): Promise<E[]> {
const properties = [];
for (const [key, value] of (filters as any).entries()) {
for (const [key, value] of Object.entries(filters)) {
properties.push(`${key}=${value}`);
}

const path = `/v1/reports/${this.reportName}/entries`;
let queryParameters = '';
if (properties.length > 0) {
queryParameters = '?' + properties.join('&');
queryParameters = `?${properties.join('&')}`;
}
return request.get(this.token, path + queryParameters, this.logger);
}
Expand Down
13 changes: 7 additions & 6 deletions test/lib/client.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import * as nock from 'nock';
import { IContent, Channel, Client, TextContent, TemplateContent, FileContent, ITemplate, ContactsContent, LocationContent, MessageSubscription, MessageStatusSubscription } from '../../src';
import { ReportFlow } from '../../src/lib/reports/report-flow';

describe('Client', () => {

Expand Down Expand Up @@ -653,7 +654,7 @@ describe('Client', () => {
.reply(200, expectedFlow);

const client = new Client('SOME_TOKEN');
const actualMessageResponse = await client.listFlowReport('2020-01-10');
const actualMessageResponse = await client.getFlowReportClient().getEntries({ startDate: '2020-01-10' });
zenviaNock.isDone().should.be.true;
actualMessageResponse.should.be.deep.equal(expectedFlow);
});
Expand Down Expand Up @@ -681,7 +682,7 @@ describe('Client', () => {
.reply(200, expectedMessage);

const client = new Client('SOME_TOKEN');
const actualMessageResponse = await client.listMessageReport('2020-01-10', '2020-01-11');
const actualMessageResponse = await client.getMessagesReportClient().getEntries({ startDate: '2020-01-10', endDate: '2020-01-11' });
zenviaNock.isDone().should.be.true;
actualMessageResponse.should.be.deep.equal(expectedMessage);
});
Expand All @@ -693,13 +694,13 @@ describe('Client', () => {
};

const zenviaNock = nock('https://api.zenvia.com')
.get('/v1/reports/flow/entries?startDate=')
.get('/v1/reports/flow/entries')
.matchHeader('X-API-Token', 'SOME_TOKEN')
.reply(400, errorResponse);

const client = new Client('SOME_TOKEN');
try {
await client.listFlowReport('');
await client.getFlowReportClient().getEntries({} as any);
} catch (error) {
error.should.be.deep.equal({ httpStatusCode: 400, message: 'Unsuccessful request', body: errorResponse });
}
Expand All @@ -713,13 +714,13 @@ describe('Client', () => {
};

const zenviaNock = nock('https://api.zenvia.com')
.get('/v1/reports/message/entries?startDate=&endDate=')
.get('/v1/reports/message/entries')
.matchHeader('X-API-Token', 'SOME_TOKEN')
.reply(400, errorResponse);

const client = new Client('SOME_TOKEN');
try {
await client.listMessageReport('', '');
await client.getMessagesReportClient().getEntries({} as any);
} catch (error) {
error.should.be.deep.equal({ httpStatusCode: 400, message: 'Unsuccessful request', body: errorResponse });
}
Expand Down

0 comments on commit 338c094

Please sign in to comment.