-
Notifications
You must be signed in to change notification settings - Fork 76
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[62077] Fix adding a tracking object to an existing draft
#153
[62077] Fix adding a tracking object to an existing draft
#153
Conversation
This pull request has been linked to Clubhouse Story #62077: Draft Tracking object not being passed to send for an existing draft. |
tests/conftest.py
Outdated
def callback(request): | ||
payload = json.loads(request.body) | ||
payload["draft_id"] = "2h111aefv8pzwzfykrn7hercj" | ||
return values.pop() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what happens with the payload? its parsed but isn't used?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great call out. I copied over the mock from another existing mock but I agree it doesn't make too much sense nor does it need to be so complicated. I simplified the mock to fit what is actually needed. For the specific test case I used this for I don't need the payload but for the sake of mocking I still return a payload. I think this SDK needs a refactor of the test cases at some point.
There's no need for a mocked body and we need to return the payload
New `nylas` v5.0.0 release bringing in the following additions: * Add support for the Nylas Neural API (#163) * Add `metadata` support (#152) * Add new Room Resource fields (#156) * Add `Nylas-API-Version` header support (#157, #151) as well as the following changes: * Transitioned from `app_id` and `app_secret` naming to `client_id` and `client_secret` (#159, #86) * Fix adding a tracking object to an existing `draft` (#153) * Fix issue when converting offset-aware `datetime` objects to `timestamp` (#154, #143) * Fix `limit` value in filter not being used when making `.all()` call (#155) * Fix `from_` field set by attribute on draft ignored (#162, #160) * Remove `bumpversion` from a required dependency to an extra dependency (#158, #144)
Description
The Python SDK creates a special payload specifically for sending an already-existing
draft
object that extracts the draft ID and the draft's version and sends that as a payload. However, it does not check if a tracking object exists, and thus if a user were to save a draft, and come add a tracking object to it (or if the user saves the draft with the tracking object first) and tries to send it after the save, the SDK never sends the tracking object in the payload. This PR adds a check to add a tracking object if present in thedraft
.License
I confirm that this contribution is made under the terms of the MIT license and that I have the authority necessary to make this contribution on behalf of its copyright owner.