Example #1
0
    def test_all(self):

        for name, xml in self.push_notifications.items():
            if "_refund_" in name or "_payment_" in name:
                # This is a payment notification, for which we need an account to exist
                request = rf.post("/junk", self.push_notifications["new_subscription_notification-ok"], content_type="text/xml")
                response = views.push_notifications(request)

            signal, t = name.split("-")
            request = rf.post("/junk", xml, content_type="text/xml")

            self.resetSignals()
            response = views.push_notifications(request)
            self.assertEqual(response.status_code, 200)
            self.assertSignal(signal)
Example #2
0
    def test_new_subscription(self):
        request = rf.post("/junk", self.push_notifications["new_subscription_notification-ok"], content_type="text/xml")
        response = views.push_notifications(request)
        self.assertEqual(response.status_code, 200)

        account = Account.objects.latest()

        self.assertEqual(Account.objects.count(), 1)
        self.assertEqual(account.user.username, "verena")
        self.assertEqual(account.first_name, "Verena")
        self.assertEqual(account.company_name, "Company, Inc.")
        self.assertEqual(account.email, "*****@*****.**")
        self.assertEqual(account.account_code, "*****@*****.**")

        subscription = account.get_current_subscription()
        self.assertEqual(Subscription.objects.count(), 1)
        self.assertEqual(subscription.plan_code, "bronze")
        self.assertEqual(subscription.plan_version, 2)
        self.assertEqual(subscription.state, "active")
        self.assertEqual(subscription.quantity, 2)
        self.assertEqual(subscription.total_amount_in_cents, 2000)
        self.assertEqual(subscription.activated_at, datetime.datetime(2009, 11, 22, 21, 10, 38))