Skip to content

Commit 6f9dd67

Browse files
authored
Merge pull request #15 from nnnLik/internal/add-new-filtering-field-for-campaigns
Add promo_code_programs_only field to Campaigns item for better data …
2 parents 5751c44 + 2c29e08 commit 6f9dd67

File tree

2 files changed

+43
-0
lines changed

2 files changed

+43
-0
lines changed

admitad/items/campaigns.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ def get(self, **kwargs):
3535
'website': lambda x: Item.sanitize_integer_value(x, 'website', blank=True),
3636
'has_tool': lambda x: Item.sanitize_string_array(x, 'has_tool', blank=True),
3737
'language': lambda x: Item.sanitize_string_value(x, 'language', blank=True),
38+
'promo_code_programs_only': lambda x: Item.sanitize_bool_value(x, 'promo_code_programs_only', blank=True),
3839
}
3940
}
4041

admitad/tests/test_campaigns.py

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,48 @@ def test_get_campaigns_request(self):
3030
limit=10, offset=0, language='en')
3131

3232
self.assertIn('status', result)
33+
self.assertNotIn('promo_code_programs_only', self.prepare_url(Campaigns.URL, params={
34+
'website': 10,
35+
'has_tool': ['deeplink', 'retag'],
36+
'limit': 10,
37+
'offset': 0,
38+
'language': 'en'
39+
}))
40+
41+
def test_get_campaigns_request_with_promo_code_programs_only(self):
42+
with responses.RequestsMock() as resp:
43+
resp.add(
44+
resp.GET,
45+
self.prepare_url(Campaigns.URL, params={
46+
'website': 10,
47+
'has_tool': ['coupons'],
48+
'promo_code_programs_only': 'true',
49+
'limit': 10,
50+
'offset': 0,
51+
'language': 'en'
52+
}),
53+
match_querystring=True,
54+
json={'status': 'ok'},
55+
status=200
56+
)
57+
result = self.client.Campaigns.get(
58+
website=10,
59+
has_tool=['coupons'],
60+
promo_code_programs_only=True,
61+
limit=10,
62+
offset=0,
63+
language='en'
64+
)
65+
66+
self.assertIn('status', result)
67+
self.assertIn('promo_code_programs_only=true', self.prepare_url(Campaigns.URL, params={
68+
'website': 10,
69+
'has_tool': ['coupons'],
70+
'promo_code_programs_only': 'true',
71+
'limit': 10,
72+
'offset': 0,
73+
'language': 'en'
74+
}))
3375

3476
def test_get_campaigns_request_with_id(self):
3577
with responses.RequestsMock() as resp:

0 commit comments

Comments
 (0)