def test_unsubscribe_view(self): """ Test the unsubscription form. """ subscription = Subscription(user=self.user, newsletter=self.n) subscription.subscribed = True subscription.unsubscribed = False subscription.save() self.assertLessThan( subscription.subscribe_date, timezone.now() + timedelta(seconds=1) ) response = self.client.get(self.unsubscribe_url) self.assertContains(response, self.n.title, status_code=200) self.assertEqual(response.context['newsletter'], self.n) self.assertEqual(response.context['user'], self.user) self.assertContains( response, 'action="%s"' % self.unsubscribe_confirm_url) self.assertContains(response, 'id="id_submit"') subscription = self.get_user_subscription() self.assertTrue(subscription.subscribed) self.assertFalse(subscription.unsubscribed)
def test_unsubscribe_twice(self): subscription = Subscription(user=self.user, newsletter=self.n) subscription.subscribed = False subscription.unsubscribed = True subscription.save() response = self.client.get(self.unsubscribe_url) self.assertContains(response, self.n.title, status_code=200) self.assertEqual(response.context['newsletter'], self.n) self.assertEqual(response.context['user'], self.user) self.assertNotContains(response, 'action="%s"' % self.unsubscribe_confirm_url) self.assertNotContains(response, 'id="id_submit"')
def test_subscribe_twice(self): # After subscribing we should not be able to subscribe again subscription = Subscription(user=self.user, newsletter=self.n) subscription.subscribed = True subscription.unsubscribed = False subscription.save() response = self.client.get(self.subscribe_url) self.assertContains(response, self.n.title, status_code=200) self.assertEqual(response.context['newsletter'], self.n) self.assertEqual(response.context['user'], self.user) self.assertNotContains( response, 'action="%s"' % self.subscribe_confirm_url) self.assertNotContains(response, 'id="id_submit"')