feat: Add CSAT reports (#2608)

This commit is contained in:
Pranav Raj S
2021-07-14 10:20:06 +05:30
committed by GitHub
parent b7806fc210
commit cb44eb2964
34 changed files with 1120 additions and 57 deletions

View File

@@ -0,0 +1,18 @@
/* global axios */
import ApiClient from './ApiClient';
class CSATReportsAPI extends ApiClient {
constructor() {
super('csat_survey_responses', { accountScoped: true });
}
get({ page } = {}) {
return axios.get(this.url, { params: { page } });
}
getMetrics() {
return axios.get(`${this.url}/metrics`);
}
}
export default new CSATReportsAPI();

View File

@@ -0,0 +1,29 @@
import csatReportsAPI from '../csatReports';
import ApiClient from '../ApiClient';
import describeWithAPIMock from './apiSpecHelper';
describe('#Reports API', () => {
it('creates correct instance', () => {
expect(csatReportsAPI).toBeInstanceOf(ApiClient);
expect(csatReportsAPI.apiVersion).toBe('/api/v1');
expect(csatReportsAPI).toHaveProperty('get');
expect(csatReportsAPI).toHaveProperty('getMetrics');
});
describeWithAPIMock('API calls', context => {
it('#get', () => {
csatReportsAPI.get({ page: 1 });
expect(context.axiosMock.get).toHaveBeenCalledWith(
'/api/v1/csat_survey_responses',
{
params: { page: 1 },
}
);
});
it('#getMetrics', () => {
csatReportsAPI.getMetrics();
expect(context.axiosMock.get).toHaveBeenCalledWith(
'/api/v1/csat_survey_responses/metrics'
);
});
});
});