1212 discover ,
1313 jcb ,
1414 mastercard ,
15+ mir ,
1516 unionpay ,
1617 visa ,
1718)
2324diners_cards = ["3056930009020004" , "36227206271667" ]
2425jcb_cards = ["3566002020360505" ]
2526discover_cards = ["6011111111111117" , "6011000990139424" ]
27+ mir_cards = ["2200123456789019" , "2204987654321098" ]
2628
2729
2830@pytest .mark .parametrize (
3335 + unionpay_cards
3436 + diners_cards
3537 + jcb_cards
36- + discover_cards ,
38+ + discover_cards
39+ + mir_cards ,
3740)
3841def test_returns_true_on_valid_card_number (value : str ):
3942 """Test returns true on valid card number."""
4043 assert card_number (value )
4144
4245
43- @pytest .mark .parametrize ("value" , ["4242424242424240" , "4000002760003180" , "400000276000318X" ])
46+ @pytest .mark .parametrize (
47+ "value" ,
48+ [
49+ "4242424242424240" ,
50+ "4000002760003180" ,
51+ "400000276000318X" ,
52+ "220012345678901X" ,
53+ ],
54+ )
4455def test_returns_failed_on_valid_card_number (value : str ):
4556 """Test returns failed on valid card number."""
4657 assert isinstance (card_number (value ), ValidationError )
@@ -84,7 +95,13 @@ def test_returns_true_on_valid_amex(value: str):
8495
8596@pytest .mark .parametrize (
8697 "value" ,
87- visa_cards + mastercard_cards + unionpay_cards + diners_cards + jcb_cards + discover_cards ,
98+ visa_cards
99+ + mastercard_cards
100+ + unionpay_cards
101+ + diners_cards
102+ + jcb_cards
103+ + discover_cards
104+ + mir_cards ,
88105)
89106def test_returns_failed_on_valid_amex (value : str ):
90107 """Test returns failed on valid amex."""
@@ -99,7 +116,13 @@ def test_returns_true_on_valid_unionpay(value: str):
99116
100117@pytest .mark .parametrize (
101118 "value" ,
102- visa_cards + mastercard_cards + amex_cards + diners_cards + jcb_cards + discover_cards ,
119+ visa_cards
120+ + mastercard_cards
121+ + amex_cards
122+ + diners_cards
123+ + jcb_cards
124+ + discover_cards
125+ + mir_cards ,
103126)
104127def test_returns_failed_on_valid_unionpay (value : str ):
105128 """Test returns failed on valid unionpay."""
@@ -114,7 +137,13 @@ def test_returns_true_on_valid_diners(value: str):
114137
115138@pytest .mark .parametrize (
116139 "value" ,
117- visa_cards + mastercard_cards + amex_cards + unionpay_cards + jcb_cards + discover_cards ,
140+ visa_cards
141+ + mastercard_cards
142+ + amex_cards
143+ + unionpay_cards
144+ + jcb_cards
145+ + discover_cards
146+ + mir_cards ,
118147)
119148def test_returns_failed_on_valid_diners (value : str ):
120149 """Test returns failed on valid diners."""
@@ -129,7 +158,13 @@ def test_returns_true_on_valid_jcb(value: str):
129158
130159@pytest .mark .parametrize (
131160 "value" ,
132- visa_cards + mastercard_cards + amex_cards + unionpay_cards + diners_cards + discover_cards ,
161+ visa_cards
162+ + mastercard_cards
163+ + amex_cards
164+ + unionpay_cards
165+ + diners_cards
166+ + discover_cards
167+ + mir_cards ,
133168)
134169def test_returns_failed_on_valid_jcb (value : str ):
135170 """Test returns failed on valid jcb."""
@@ -144,8 +179,35 @@ def test_returns_true_on_valid_discover(value: str):
144179
145180@pytest .mark .parametrize (
146181 "value" ,
147- visa_cards + mastercard_cards + amex_cards + unionpay_cards + diners_cards + jcb_cards ,
182+ visa_cards
183+ + mastercard_cards
184+ + amex_cards
185+ + unionpay_cards
186+ + diners_cards
187+ + jcb_cards
188+ + mir_cards ,
148189)
149190def test_returns_failed_on_valid_discover (value : str ):
150191 """Test returns failed on valid discover."""
151192 assert isinstance (discover (value ), ValidationError )
193+
194+
195+ @pytest .mark .parametrize ("value" , mir_cards )
196+ def test_returns_true_on_valid_mir (value : str ):
197+ """Test returns true on valid Mir card."""
198+ assert mir (value )
199+
200+
201+ @pytest .mark .parametrize (
202+ "value" ,
203+ visa_cards
204+ + mastercard_cards
205+ + amex_cards
206+ + unionpay_cards
207+ + diners_cards
208+ + jcb_cards
209+ + discover_cards ,
210+ )
211+ def test_returns_failed_on_valid_mir (value : str ):
212+ """Test returns failed on invalid Mir card (other payment systems)."""
213+ assert isinstance (mir (value ), ValidationError )
0 commit comments