diff --git a/plugins/pagerduty/src/api/client.ts b/plugins/pagerduty/src/api/client.ts index bf6835ec2a..7f9f3d6c59 100644 --- a/plugins/pagerduty/src/api/client.ts +++ b/plugins/pagerduty/src/api/client.ts @@ -108,14 +108,13 @@ export class PagerDutyClient implements PagerDutyApi { return await this.getByUrl(url); } - async getOnCallByPolicyId(policyId: string): Promise { + async getOnCallByPolicyId(policyId: string): Promise { const params = `time_zone=UTC&include[]=users&escalation_policy_ids[]=${policyId}`; const url = `${await this.config.discoveryApi.getBaseUrl( 'proxy', )}/pagerduty/oncalls?${params}`; - const { oncalls } = await this.getByUrl(url); - return oncalls; + return await this.getByUrl(url); } triggerAlarm(request: TriggerAlarmRequest): Promise { diff --git a/plugins/pagerduty/src/api/types.ts b/plugins/pagerduty/src/api/types.ts index 8914c4ed97..d2ab0290d3 100644 --- a/plugins/pagerduty/src/api/types.ts +++ b/plugins/pagerduty/src/api/types.ts @@ -50,7 +50,7 @@ export interface PagerDutyApi { * Fetches the list of users in an escalation policy. * */ - getOnCallByPolicyId(policyId: string): Promise; + getOnCallByPolicyId(policyId: string): Promise; /** * Triggers an incident to whoever is on-call. diff --git a/plugins/pagerduty/src/components/Escalation/Escalation.test.tsx b/plugins/pagerduty/src/components/Escalation/Escalation.test.tsx index 47f18002fe..33e8865f59 100644 --- a/plugins/pagerduty/src/components/Escalation/Escalation.test.tsx +++ b/plugins/pagerduty/src/components/Escalation/Escalation.test.tsx @@ -30,7 +30,7 @@ describe('Escalation', () => { it('Handles an empty response', async () => { mockPagerDutyApi.getOnCallByPolicyId = jest .fn() - .mockImplementationOnce(async () => []); + .mockImplementationOnce(async () => ({ oncalls: [] })); const { getByText, queryByTestId } = render( wrapInTestApp( @@ -48,17 +48,19 @@ describe('Escalation', () => { it('Render a list of users', async () => { mockPagerDutyApi.getOnCallByPolicyId = jest .fn() - .mockImplementationOnce(async () => [ - { - user: { - name: 'person1', - id: 'p1', - summary: 'person1', - email: 'person1@example.com', - html_url: 'http://a.com/id1', - } as User, - }, - ]); + .mockImplementationOnce(async () => ({ + oncalls: [ + { + user: { + name: 'person1', + id: 'p1', + summary: 'person1', + email: 'person1@example.com', + html_url: 'http://a.com/id1', + } as User, + }, + ], + })); const { getByText, queryByTestId } = render( wrapInTestApp( diff --git a/plugins/pagerduty/src/components/Escalation/EscalationPolicy.tsx b/plugins/pagerduty/src/components/Escalation/EscalationPolicy.tsx index 704887be58..8602733ee3 100644 --- a/plugins/pagerduty/src/components/Escalation/EscalationPolicy.tsx +++ b/plugins/pagerduty/src/components/Escalation/EscalationPolicy.tsx @@ -37,7 +37,7 @@ export const EscalationPolicy = ({ policyId }: Props) => { loading, error, } = useAsync(async () => { - const oncalls = await api.getOnCallByPolicyId(policyId); + const { oncalls } = await api.getOnCallByPolicyId(policyId); const usersItem = oncalls .sort((a, b) => a.escalation_level - b.escalation_level) .map(oncall => oncall.user); diff --git a/plugins/pagerduty/src/components/PagerDutyCard/index.test.tsx b/plugins/pagerduty/src/components/PagerDutyCard/index.test.tsx index dce1bb536a..9a6e9a3ed2 100644 --- a/plugins/pagerduty/src/components/PagerDutyCard/index.test.tsx +++ b/plugins/pagerduty/src/components/PagerDutyCard/index.test.tsx @@ -91,7 +91,7 @@ const service: Service = { const mockPagerDutyApi: Partial = { getServiceByEntity: async () => ({ service }), - getOnCallByPolicyId: async () => [], + getOnCallByPolicyId: async () => ({ oncalls: [] }), getIncidentsByServiceId: async () => ({ incidents: [] }), };