예제 #1
0
 def test_subscription_view_should_create_a_subscription_for_the_current_user_and_redirect_to_payment_gateway(
         self):
     response = SubscriptionView.as_view()(self.request)
     self.assertTrue(Subscription.objects.filter(user=self.user).exists())
     self.assertEqual(302, response.status_code)
     expected_url = settings.PAGSEGURO_WEBCHECKOUT + "xpto123"
     self.assertEqual(expected_url, response["Location"])
예제 #2
0
 def test_should_redirect_to_the_profile_url_if_the_profile_does_not_contain_a_name(self):
     request = RequestFactory().get("/")
     request.user = User.objects.get(pk=3)
     response = SubscriptionView.as_view()(request)
     self.assertIsInstance(response, HttpResponseRedirect)
     base_url = reverse("edit-profile")
     expected_url = "%s?next=%s" % (base_url, request.path)
     self.assertEqual(expected_url, response["Location"])
예제 #3
0
 def test_should_redirect_to_the_profile_url_if_the_profile_does_not_contain_a_name(
         self):
     request = RequestFactory().get("/")
     request.user = User.objects.get(pk=3)
     response = SubscriptionView.as_view()(request)
     self.assertIsInstance(response, HttpResponseRedirect)
     base_url = reverse("edit-profile")
     expected_url = "%s?next=%s" % (base_url, request.path)
     self.assertEqual(expected_url, response["Location"])
예제 #4
0
    def test_subscription_view_should_redirect_to_dashboard_if_it_fails_to_create_the_transaction(self):
        class ResponseMock(object):
            content = None

            @property
            def ok(self):
                return False

        requests_original = views.requests
        try:
            views.requests.post = lambda self, *args, **kwargs: ResponseMock()
            request = RequestFactory().get("/", {})
            request.user = User.objects.get(pk=1)
            v = SubscriptionView()
            v._notify_staff = lambda u: None
            response = v.dispatch(request)
            self.assertFalse(Subscription.objects.filter(user__pk=1).exists())
            self.assertEqual(302, response.status_code)
            self.assertEqual("/dashboard/", response["Location"])
        finally:
            views.requests = requests_original
예제 #5
0
    def test_subscription_view_should_redirect_to_dashboard_if_it_fails_to_create_the_transaction(
            self):
        class ResponseMock(object):
            content = None

            @property
            def ok(self):
                return False

        requests_original = views.requests
        try:
            views.requests.post = lambda self, *args, **kwargs: ResponseMock()
            request = RequestFactory().get("/", {})
            request.user = User.objects.get(pk=1)
            v = SubscriptionView()
            v._notify_staff = lambda u: None
            response = v.dispatch(request)
            self.assertFalse(Subscription.objects.filter(user__pk=1).exists())
            self.assertEqual(302, response.status_code)
            self.assertEqual("/dashboard/", response["Location"])
        finally:
            views.requests = requests_original
예제 #6
0
 def test_should_returns_error_when_user_is_not_logged(self):
     self.request.user.is_authenticated = lambda: False
     response = SubscriptionView.as_view()(self.request)
     self.assertEqual(302, response.status_code)
     self.assertIn('/accounts/login/', response.items()[1][1])
예제 #7
0
 def test_subscription_view_should_create_a_subscription_for_the_user_type(self):
     SubscriptionView.as_view()(self.request)
     transaction = Transaction.objects.get(subscription__user=self.user)
     self.assertEqual(transaction.price, PRICES["Student"])
예제 #8
0
 def test_subscription_view_should_create_a_subscription_for_the_current_user_and_redirect_to_payment_gateway(self):
     response = SubscriptionView.as_view()(self.request)
     self.assertTrue(Subscription.objects.filter(user=self.user).exists())
     self.assertEqual(302, response.status_code)
     expected_url = settings.PAGSEGURO_WEBCHECKOUT + "xpto123"
     self.assertEqual(expected_url, response["Location"])
예제 #9
0
# -*- coding: utf-8 -*-
from django.conf.urls import patterns, url

from pythonbrasil8.dashboard.views import IndexView, ProfileView, SessionsView
from pythonbrasil8.subscription.views import SubscriptionView, TutorialSubscriptionView
from pythonbrasil8.schedule.views import DeleteSessionView, EditSessionView, FinishedProposalsView


urlpatterns = patterns('',
    url(r'^$', IndexView.as_view(), name='dashboard-index'),
    url(r'^subscription/talk/$', SubscriptionView.as_view(), name='talk-subscription'),
    url(r'^subscription/tutorials/$', TutorialSubscriptionView.as_view(), name='tutorials-subscription'),
    url(r'^profile/$', ProfileView.as_view(), name='edit-profile'),
    url(r'^proposals/$', SessionsView.as_view(), name='dashboard-sessions'),
    url(r'^proposals/propose/$', FinishedProposalsView.as_view(), name='session-subscribe'),
    url(r'^proposals/edit/(?P<id>\d+)', EditSessionView.as_view(), name='session-edit'),
    url(r'^proposals/delete/(?P<id>\d+)', DeleteSessionView.as_view(), name='session-delete'),
)
예제 #10
0
# -*- coding: utf-8 -*-
from django.conf.urls import patterns, url

from pythonbrasil8.dashboard.views import IndexView, ProfileView, SessionsView
from pythonbrasil8.subscription.views import SubscriptionView
from pythonbrasil8.schedule.views import DeleteSessionView, EditSessionView, SubscribeView


urlpatterns = patterns('',
    url(r'^$', IndexView.as_view(), name='dashboard-index'),
    url(r'^subscription/talk/$', SubscriptionView.as_view(), name='talk-subscription'),
    url(r'^profile/$', ProfileView.as_view(), name="edit-profile"),
    url(r'^proposals/$', SessionsView.as_view(), name="dashboard-sessions"),
    url(r'^proposals/propose/$', SubscribeView.as_view(), name='session-subscribe'),
    url(r'^proposals/edit/(?P<id>\d+)', EditSessionView.as_view(), name='session-edit'),
    url(r'^proposals/delete/(?P<id>\d+)', DeleteSessionView.as_view(), name='session-delete'),
)
예제 #11
0
 def test_subscription_view_should_create_a_subscription_for_the_current_user(self):
     response = SubscriptionView.as_view()(self.request)
     self.assertTrue(Subscription.objects.filter(user=self.user).exists())
     self.assertEqual(302, response.status_code)
     self.assertEqual("/dashboard/", response.items()[1][1])
예제 #12
0
# -*- coding: utf-8 -*-
from django.conf.urls import patterns, url

from pythonbrasil8.dashboard.views import IndexView, ProfileView, SessionsView
from pythonbrasil8.subscription.views import SubscriptionView
from pythonbrasil8.schedule.views import SubscribeView

urlpatterns = patterns(
    '',
    url(r'^$', IndexView.as_view(), name='dashboard-index'),
    #url(r'^subscribe/$', SubscribeView.as_view(), name='session-subscribe'),
    url(r'^subscription/talk/$',
        SubscriptionView.as_view(),
        name='talk-subscription'),
    url(r'^profile/$', ProfileView.as_view(), name="edit-profile"),
    #url(r'^proposals/$', SessionsView.as_view(), name="dashboard-sessions"),
)
예제 #13
0
 def test_should_returns_error_when_user_is_not_logged(self):
     self.request.user.is_authenticated = lambda: False
     response = SubscriptionView.as_view()(self.request)
     self.assertEqual(302, response.status_code)
     self.assertIn('/accounts/login/', response.items()[1][1])
예제 #14
0
 def test_subscription_view_should_create_a_subscription_for_the_user_type(
         self):
     SubscriptionView.as_view()(self.request)
     transaction = Transaction.objects.get(subscription__user=self.user)
     self.assertEqual(transaction.price, PRICES["Student"])