Exemple #1
0
 def test_get_without_connection_redirects_login(self, mock_is_connected):
     mock_is_connected.return_value = False
     view = EventListView()
     mock_request = MagicMock()
     response = view.get(mock_request)
     response.client = Client()
     self.assertRedirects(response, '/login/')
Exemple #2
0
    def test_get_with_exception_redirects_login(self, mock_super_get):
        view = EventListView()
        mock_request = MagicMock()
        mock_super_get.side_effect = Exception()
        response = view.get(mock_request)
        response.client = Client()

        self.assertRedirects(response, '/login/')
Exemple #3
0
 def test_get_queryset_with_cached_events_and_filter_without_changes(
         self, mock_has_changed, mock_apply_filters):
     StateManager.set_events(self.events)
     StateManager.url = 'find_features'
     view = EventListView()
     view.request = MagicMock()
     view.request.path = 'find_features'
     view.request.GET = {'country': '', 'format': ''}
     result = view.get_queryset()
     self.assertEqual(result, self.events)
Exemple #4
0
    def test_get(self, mock_is_connected, mock_super_get):
        mock_is_connected.return_value = True
        view = EventListView()
        mock_request = MagicMock()
        result_super = MagicMock()
        mock_super_get.return_value = result_super

        result = view.get(mock_request)

        self.assertEqual(result, result_super)
Exemple #5
0
    def test_get_render_error(self, mock_is_connected, mock_super_get,
                              mock_render):
        mock_is_connected.return_value = True
        view = EventListView()
        mock_request = MagicMock()
        presto_error = PrestoError(Exception())
        mock_super_get.side_effect = presto_error

        view.get(mock_request)
        count_calls = mock_render.call_count
        args_calls = mock_render.call_args[0]

        self.assertEqual(count_calls, 1)
        self.assertEqual(args_calls[1], 'find_feature.html')
        self.assertEqual(args_calls[2]['error'], presto_error.message)
Exemple #6
0
 def test_get_queryset_without_cached_events_and_filter_without_changes(
         self, mock_has_changed, mock_apply_filters, mock_get_list_dto,
         mock_set_events, mock_get_query_parameters):
     with patch.object(DBService, 'get_events', return_value=self.events):
         view = EventListView()
         view.request = MagicMock()
         view.request.GET = {'country': '', 'format': ''}
         result = view.get_queryset()
         set_events_count = mock_set_events.call_count
         get_dto_list_count = mock_get_list_dto.call_count
         get_query_parameters_count = mock_get_query_parameters.call_count
         self.assertEqual(result, self.events)
         self.assertEqual(set_events_count, 1)
         self.assertEqual(get_dto_list_count, 1)
         self.assertEqual(get_query_parameters_count, 1)
Exemple #7
0
    def test_get_context_data(self, mock_formats, mock_features,
                              mock_languages, mock_countries, mock_categories):
        arr_formats = [
            {
                'code': 'ST',
                'name': 'Seminar or Talk',
            },
        ]
        arr_features = [
            {
                'code': 'RS',
                'name': 'Reserved Seating',
            },
        ]
        arr_languages = [
            {
                'code': 'de',
                'name': 'German',
            },
        ]
        arr_countries = [
            {
                'alpha2Code': 'PE',
                'name': 'Peru',
            },
        ]
        arr_categories = [{
            'code': 'FD',
            'name': 'Food & Drink',
        }]
        mock_formats.return_value = {'formats': arr_formats}
        mock_features.return_value = {'features': arr_features}
        mock_languages.return_value = {'languages': arr_languages}
        mock_countries.return_value = {'countries': arr_countries}
        mock_categories.return_value = {'categories': arr_categories}
        view = EventListView()
        kwargs = {'object_list': []}
        view.request = MagicMock()
        view.request.path = 'SpecificEvent'

        result = view.get_context_data(**kwargs)
        self.assertEqual(result['formats'], arr_formats)
        self.assertEqual(result['features'], arr_features)
        self.assertEqual(result['languages'], arr_languages)
        self.assertEqual(result['countries'], arr_countries)
        self.assertEqual(result['categories'], arr_categories)
        self.assertTrue(result['specific_event'])
Exemple #8
0
    def test_is_from_login_false(self):
        view = EventListView()
        view.request = MagicMock()
        view.request.GET = {'country': '', 'format': ''}

        self.assertEqual(view.is_from_login(), False)
Exemple #9
0
    def test_is_from_login_true(self):
        view = EventListView()
        view.request = MagicMock()
        view.request.GET = {}

        self.assertEqual(view.is_from_login(), True)
Exemple #10
0
from django.urls import path
from django.views.generic import RedirectView

from search_events_app.views import (
    EventListView,
    login,
    logout,
)

urlpatterns = [
    path('', RedirectView.as_view(pattern_name='find_feature',
                                  permanent=False)),
    path('FindFeature/', EventListView.as_view(), name='find_feature'),
    path('SpecificEvent/', EventListView.as_view(), name='specific_event'),
    path('login/', login, name='login'),
    path('logout/', logout, name='logout'),
]