mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	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.
		
			
				
	
	
		
			56 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			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")}
 |