Пример #1
0
    def test_exception_is_logged_if_web_user_does_not_exist(self):
        payment_record_id = 1
        domain = 'test'
        additional_context = {}

        patcher = patch(
            'corehq.apps.accounting.task_utils.raise_except_and_log_accounting_comms_error'
        )
        mock_log_method = patcher.start()

        with MockPurchaseReceiptInfo('username'):
            get_context_to_send_purchase_receipt(payment_record_id, domain,
                                                 additional_context)

        mock_log_method.assert_called()
        patcher.stop()
Пример #2
0
    def test_context_has_expected_keys(self):
        payment_record_id = 1
        domain = 'test'
        additional_context = {}

        with MockPurchaseReceiptInfo('username'):
            context = get_context_to_send_purchase_receipt(
                payment_record_id, domain, additional_context)

        expected_keys = {'template_context', 'email_to', 'email_from'}
        self.assertEqual(set(context.keys()), expected_keys)
Пример #3
0
    def test_recipient_is_username_if_web_user_does_not_exist(self):
        payment_record_id = 1
        domain = 'test'
        additional_context = {}

        with MockPurchaseReceiptInfo('username'):
            context = get_context_to_send_purchase_receipt(
                payment_record_id, domain, additional_context)

        template_context = context['template_context']
        self.assertTrue(context['email_to'], 'username')
        self.assertTrue(template_context['name'], 'username')
Пример #4
0
    def test_template_context_has_expected_keys(self):
        payment_record_id = 1
        domain = 'test'
        additional_context = {}

        with MockPurchaseReceiptInfo('username'):
            context = get_context_to_send_purchase_receipt(
                payment_record_id, domain, additional_context)

        expected_template_keys = {
            'name', 'amount', 'project', 'date_paid', 'transaction_id'
        }
        self.assertEqual(set(context['template_context'].keys()),
                         expected_template_keys)
Пример #5
0
def send_purchase_receipt(payment_record_id, domain, template_html,
                          template_plaintext, additional_context):
    context = get_context_to_send_purchase_receipt(payment_record_id, domain,
                                                   additional_context)

    email_html = render_to_string(template_html, context['template_context'])
    email_plaintext = render_to_string(template_plaintext,
                                       context['template_context'])

    send_HTML_email(
        subject=_("Payment Received - Thank You!"),
        recipient=context['email_to'],
        html_content=email_html,
        text_content=email_plaintext,
        email_from=context['email_from'],
    )