File tree Expand file tree Collapse file tree
benefits/metro_mobility_wallet
tests/pytest/metro_mobility_wallet Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ import logging
2+
3+ from django .http import HttpRequest
4+
5+ from benefits .core .models .enrollment import EnrollmentFlow , SystemName
6+
7+ logger = logging .getLogger (__name__ )
8+
9+
10+ class Session :
11+ def __init__ (self , request : HttpRequest ):
12+ """Initialize a new Metro Mobility Wallet session wrapper for this request"""
13+
14+ self .request = request
15+ self .session = request .session
16+
17+ @property
18+ def flow (self ) -> EnrollmentFlow :
19+ return EnrollmentFlow .objects .filter (system_name = SystemName .METRO_MOBILITY_WALLET ).first ()
Original file line number Diff line number Diff line change 1+ import pytest
2+ from django .http import HttpRequest
3+
4+ from benefits .core .models .enrollment import EnrollmentFlow , SystemName
5+ from benefits .metro_mobility_wallet .session import Session
6+
7+
8+ @pytest .mark .django_db
9+ class TestSession :
10+ @pytest .fixture
11+ def mock_request (self , mocker ):
12+ request = mocker .MagicMock (spec = HttpRequest )
13+ request .session = {"session_id" : 123 }
14+ return request
15+
16+ @pytest .fixture
17+ def model_metro_EnrollmentFlow (self ):
18+ return EnrollmentFlow .objects .create (system_name = SystemName .METRO_MOBILITY_WALLET )
19+
20+ def test_init (self , mock_request ):
21+ session = Session (mock_request )
22+ assert session .request == mock_request
23+ assert session .session == mock_request .session
24+
25+ def test_flow_no_metro_flow (self , mock_request ):
26+ assert EnrollmentFlow .objects .filter (system_name = SystemName .METRO_MOBILITY_WALLET ).count () == 0
27+
28+ session = Session (mock_request )
29+ flow = session .flow
30+
31+ assert flow is None
32+
33+ def test_flow_metro_flow_exists (self , mock_request , model_metro_EnrollmentFlow ):
34+ session = Session (mock_request )
35+ flow = session .flow
36+
37+ assert flow == model_metro_EnrollmentFlow
You can’t perform that action at this time.
0 commit comments