Details
-
Sub-task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
Why
With the new specification, I should be able to retrieve my vacation object:
{ "using": [ "urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail", "urn:ietf:params:jmap:vacationresponse" ], "methodCalls": [[ "VacationResponse/get", { "accountId": "u123456", "ids": null }, "0" ]] }
Should return :
{ "sessionState": "75128aab4b1b", "methodResponses": [ ["VacationResponse/get", { "accountId": "u123456", "state": "000001", "list": [{ "id":"singleton", "isEnabled": "true", "fromDate": "2014-10-30T14:12:00+08:00", "toDate": "2014-18-30T14:12:00+08:00", "subject": I am in vacation"", "textBody": "I'm currently enjoying life. Please distrub me later", "htmlBody": "I'm currently enjoying <b>life</b>. <br/>Please distrub me later" // ... }] }, "0"]] }
How
- Add urn:ietf:params:jmap:vacationresponse as a supported capability, advertised in the Session (global and at the account level)
- Implement a method for VacationResponse/get
- Write dedicated integration tests for it.
Failure cases
- Omitting urn:ietf:params:jmap:vacationresponse should lead to errors (method not found)
- Requesting another ID than "singleton" should return "notFound"
Notes
- Property filtering needs to be implemented: only fields explicitly requested needs to be returned to the client.
DOD
Write memory integration tests (including property filtering & error management) for VacationResponse/get