diff --git a/cypress/integration/api.spec.js b/cypress/integration/api.spec.js index 50dced03..d945a071 100644 --- a/cypress/integration/api.spec.js +++ b/cypress/integration/api.spec.js @@ -2,7 +2,8 @@ describe("it test the api", () => { let jsonWebToken = ""; - const apiUrl = "https://fhir-api.public.post-prod.lifen.fr" + const apiUrl = "https://fhir-api.public.post-prod.lifen.fr"; + let documentReferenceId, communicationRequestId = ""; it("I have a JWT", () => { @@ -23,14 +24,14 @@ describe("it test the api", () => { }); - it("I have a the document #1615660", () => { + it.skip("I have a the document #1615660", () => { cy.request({ url:`${apiUrl}/fhir/Binary/1615660`, method:'GET', headers: { - "Authorization" : `Bearer ${jsonWebToken}`, - "contet-type": "application/json", - "Prefer": "return=presentation" + "authorization" : `Bearer ${jsonWebToken}`, + "content-type": "application/json", + "Prefer": "return=representation" } }).then((response) => { expect(response.status).to.eq(200); @@ -43,10 +44,11 @@ describe("it test the api", () => { url:`${apiUrl}/fhir/DocumentReference`, method:'POST', headers: { - "Authorization" : `Bearer ${jsonWebToken}`, - "contet-type": "application/json", - "Prefer": "return=presentation" + authorization : `Bearer ${jsonWebToken}`, + 'content-type': 'application/json', + "Prefer": "return=representation" }, + json: true, body: { "status": "current", "docStatus": "final", @@ -72,10 +74,94 @@ describe("it test the api", () => { ], "resourceType": "DocumentReference" } - }).then(response => { - + }).then((response) => { + expect(response.status).to.eq(201); + expect(response.headers["content-type"]).to.eq("application/fhir+json;charset=UTF-8"); + expect(response.body).to.have.property("resourceType", "DocumentReference"); + expect(response.body).to.have.property('id'); + documentReferenceId = response.body.id }); - - + //cy.log(documentReferenceId); }); + + it("I prepare the CommunicationRequest", () => { + cy.request({ + url: `${apiUrl}/fhir/CommunicationRequest`, + method: 'POST', + headers: { + authorization: `Bearer ${jsonWebToken}`, + 'content-type': 'application/json', + "Prefer": "return=representation" + }, + json: true, + body: { + "meta": { + "tag": [ + { + "system": "http://lifen.fr/fhir/tag/verified/sender", + "code": "SENDER_VERIFIED", + "display": "Sender is verified and should not be changed." + }, + { + "system": "http://lifen.fr/fhir/tag/processing/mode", + "code": "IMMEDIATE_MODE", + "display": "request should be treated in immediate mode" + }, + { + "system": "http://lifen.fr/fhir/CodeSystem/Resource/Tag/PatientAutomaticResending", + "code": "NONE", + "display": "Patient communication should not be resent" + } + ] + }, + "status": "draft", + "category": [ + { + "coding": [ + { + "system": "http://lifen.fr/fhir/CodeSystem/communication-category", + "code": "MEDICAL_REPORT" + } + ] + } + ], + "priority": "routine", + "payload": [ + { + "contentReference": { + "reference": `DocumentReference/${documentReferenceId}` + } + } + ], + "sender": { + "extension": [ + { + "url": "http://lifen.fr/fhir/StructureDefinition/Resource/Extension/Source", + "valueCode": "USER" + } + ], + "reference": "Organization/2" + }, + "requester": { + "agent": { + "extension": [ + { + "url": "http://lifen.fr/fhir/StructureDefinition/communicationrequest-requester-user-uuid", + "valueString": "ea07d7c6-ff4b-43fc-9765-e4235886d30c" + } + ], + "reference": "Organization/2" + } + }, + "resourceType": "CommunicationRequest" + } + }).then((response) => { + expect(response.status).to.eq(201); + expect(response.headers["content-type"]).to.eq("application/fhir+json;charset=UTF-8"); + expect(response.body).to.have.property("resourceType", "CommunicationRequest"); + expect(response.body).to.have.property('id'); + communicationRequestId = response.body.id + }); + }); + });