12
12
discover ,
13
13
jcb ,
14
14
mastercard ,
15
+ mir ,
15
16
unionpay ,
16
17
visa ,
17
18
)
23
24
diners_cards = ["3056930009020004" , "36227206271667" ]
24
25
jcb_cards = ["3566002020360505" ]
25
26
discover_cards = ["6011111111111117" , "6011000990139424" ]
27
+ mir_cards = ["2200123456789019" , "2204987654321098" ]
26
28
27
29
28
30
@pytest .mark .parametrize (
33
35
+ unionpay_cards
34
36
+ diners_cards
35
37
+ jcb_cards
36
- + discover_cards ,
38
+ + discover_cards
39
+ + mir_cards ,
37
40
)
38
41
def test_returns_true_on_valid_card_number (value : str ):
39
42
"""Test returns true on valid card number."""
40
43
assert card_number (value )
41
44
42
45
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
+ )
44
55
def test_returns_failed_on_valid_card_number (value : str ):
45
56
"""Test returns failed on valid card number."""
46
57
assert isinstance (card_number (value ), ValidationError )
@@ -84,7 +95,13 @@ def test_returns_true_on_valid_amex(value: str):
84
95
85
96
@pytest .mark .parametrize (
86
97
"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 ,
88
105
)
89
106
def test_returns_failed_on_valid_amex (value : str ):
90
107
"""Test returns failed on valid amex."""
@@ -99,7 +116,13 @@ def test_returns_true_on_valid_unionpay(value: str):
99
116
100
117
@pytest .mark .parametrize (
101
118
"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 ,
103
126
)
104
127
def test_returns_failed_on_valid_unionpay (value : str ):
105
128
"""Test returns failed on valid unionpay."""
@@ -114,7 +137,13 @@ def test_returns_true_on_valid_diners(value: str):
114
137
115
138
@pytest .mark .parametrize (
116
139
"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 ,
118
147
)
119
148
def test_returns_failed_on_valid_diners (value : str ):
120
149
"""Test returns failed on valid diners."""
@@ -129,7 +158,13 @@ def test_returns_true_on_valid_jcb(value: str):
129
158
130
159
@pytest .mark .parametrize (
131
160
"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 ,
133
168
)
134
169
def test_returns_failed_on_valid_jcb (value : str ):
135
170
"""Test returns failed on valid jcb."""
@@ -144,8 +179,35 @@ def test_returns_true_on_valid_discover(value: str):
144
179
145
180
@pytest .mark .parametrize (
146
181
"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 ,
148
189
)
149
190
def test_returns_failed_on_valid_discover (value : str ):
150
191
"""Test returns failed on valid discover."""
151
192
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