Files
zulip/zerver/webhooks/hellosign/tests.py
PIG208 5ecbfecd77 webhook: Rename FIXTURE_DIR_NAME to WEBHOOK_DIR_NAME.
Since FIXTURE_DIR_NAME is the name of the folder that contains the view
and tests modules of the webhook and another folder called "fixtures" that
store the fixtures, it is more appropriate to call it WEBHOOK_DIR_NAME,
especially when we want to refer to the view module using this variable.
2021-06-29 17:01:54 -07:00

56 lines
2.1 KiB
Python

from typing import Dict
from zerver.lib.test_classes import WebhookTestCase
class HelloSignHookTests(WebhookTestCase):
STREAM_NAME = "hellosign"
URL_TEMPLATE = "/api/v1/external/hellosign?stream={stream}&api_key={api_key}"
WEBHOOK_DIR_NAME = "hellosign"
def test_signatures_message(self) -> None:
expected_topic = "NDA with Acme Co."
expected_message = (
"The `NDA with Acme Co.` document is awaiting the signature of "
"Jack, and was just signed by Jill."
)
self.check_webhook("signatures", expected_topic, expected_message, content_type=None)
def test_signatures_message_signed_by_one(self) -> None:
expected_topic = "NDA with Acme Co."
expected_message = "The `NDA with Acme Co.` document was just signed by Jill."
self.check_webhook(
"signatures_signed_by_one_signatory",
expected_topic,
expected_message,
content_type=None,
)
def test_signatures_message_with_four_signatories(self) -> None:
expected_topic = "Signature doc"
expected_message = (
"The `Signature doc` document is awaiting the signature of "
"Eeshan Garg, John Smith, Jane Doe, and Stephen Strange."
)
self.check_webhook(
"signatures_with_four_signatories", expected_topic, expected_message, content_type=None
)
def test_signatures_message_with_own_subject(self) -> None:
expected_topic = "Our own subject."
self.url = self.build_webhook_url(topic=expected_topic)
expected_message = (
"The `NDA with Acme Co.` document is awaiting the signature of "
"Jack, and was just signed by Jill."
)
self.check_webhook(
"signatures_with_own_subject",
expected_topic,
expected_message,
content_type=None,
topic=expected_topic,
)
def get_payload(self, fixture_name: str) -> Dict[str, str]:
return {"json": self.webhook_fixture_data("hellosign", fixture_name, file_type="json")}