Skip to content

Commit a01d089

Browse files
authored
Merge pull request #773 from companieshouse/feature/lp-686-remove-general-partner
lp-686 : limited partnerships service - delete general partner
2 parents e3db51f + 07bf477 commit a01d089

File tree

3 files changed

+43
-0
lines changed

3 files changed

+43
-0
lines changed

src/services/limited-partnerships/service.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,4 +141,17 @@ export default class LimitedPartnershipsService {
141141
resource: { ...response.body }
142142
};
143143
}
144+
145+
public async deleteGeneralPartner (
146+
transactionId: string,
147+
generalPartnerId: string
148+
): Promise<Resource<void> | ApiErrorResponse> {
149+
const URL = `/transactions/${transactionId}/limited-partnership/general-partner/${generalPartnerId}`;
150+
const response: HttpResponse = await this.client.httpDelete(URL);
151+
152+
return {
153+
httpStatusCode: response.status,
154+
resource: { ...response.body }
155+
};
156+
}
144157
}

test/services/limited-partnerships/limited.partnerships.mock.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,3 +193,9 @@ export const mockPatchGeneralPartnerResponse = {
193193
400: { status: 400, body: { error: BAD_REQUEST } },
194194
401: { status: 401, body: { error: UNAUTHORISED } }
195195
};
196+
197+
export const mockDeleteGeneralPartnerResponse = {
198+
204: { status: 204 },
199+
404: { status: 404, body: { error: NOT_FOUND } },
200+
401: { status: 401, body: { error: UNAUTHORISED } }
201+
};

test/services/limited-partnerships/limited.partnerships.spec.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -652,4 +652,28 @@ describe("LimitedPartnershipsService", () => {
652652
expect(response.httpStatusCode).to.equal(400);
653653
});
654654
})
655+
656+
describe("deleteGeneralPartner", () => {
657+
it("should return 204 patchGeneralPartner method", async () => {
658+
const mockRequest = sinon
659+
.stub(mockValues.requestClient, "httpDelete")
660+
.resolves(mockValues.mockDeleteGeneralPartnerResponse[204]);
661+
const service = new LimitedPartnershipsService(
662+
mockValues.requestClient
663+
);
664+
const response = (await service.deleteGeneralPartner(
665+
mockValues.TRANSACTION_ID,
666+
mockValues.GENERAL_PARTNER_ID
667+
)) as Resource<void>;
668+
669+
expect(mockRequest).to.have.been.calledOnce;
670+
expect(
671+
mockRequest.calledWith(
672+
"/transactions/12345/limited-partnership/general-partner/00112233"
673+
)
674+
).to.be.true;
675+
676+
expect(response.httpStatusCode).to.equal(204);
677+
});
678+
})
655679
});

0 commit comments

Comments
 (0)