Coverage for benefits/enrollment_switchio/views.py: 100%

15 statements  

« prev     ^ index     » next       coverage.py v7.8.2, created at 2025-06-06 20:07 +0000

1from django.http import JsonResponse 

2from django.views.generic import TemplateView, View 

3 

4from benefits.core import models, session 

5from benefits.core.mixins import EligibleSessionRequiredMixin 

6 

7 

8class IndexView(EligibleSessionRequiredMixin, TemplateView): 

9 """View for the enrollment landing page.""" 

10 

11 template_name = "enrollment_switchio/index.html" 

12 

13 def get_context_data(self, **kwargs): 

14 context = super().get_context_data(**kwargs) 

15 

16 flow = session.flow(self.request) 

17 

18 context.update( 

19 { 

20 **flow.enrollment_index_context, 

21 "cta_button": "tokenize_card", 

22 "enrollment_method": models.EnrollmentMethods.DIGITAL, 

23 "transit_processor": {"name": "Switchio", "website": "https://switchio.com/transport/"}, 

24 } 

25 ) 

26 return context 

27 

28 

29class GatewayUrlView(EligibleSessionRequiredMixin, View): 

30 """View for the tokenization gateway registration""" 

31 

32 def get(self, request, *args, **kwargs): 

33 data = {"gateway_url": "https://server/gateway/uuid"} 

34 return JsonResponse(data)