newsletters: assume no transport restrictions means they're all ok (#13211)

This commit is contained in:
Frédéric Péters 2016-09-18 11:16:42 +02:00 committed by Serghei Mihai
parent 7b22f9fdf7
commit 8e1373022f
2 changed files with 16 additions and 5 deletions

View File

@ -103,17 +103,15 @@ class NewslettersCell(CellBase):
def check_transport(self, transport):
restrictions = self.get_transports_restrictions()
if restrictions and transport in restrictions:
return True
return False
if restrictions and transport not in restrictions:
return False
return True
def filter_data(self, data):
filtered = []
for item in data:
if not self.check_resource(item['text']):
continue
if not self.transports_restrictions:
filtered.append(item)
for t in item['transports']:
if self.check_transport(t['id']):
filtered.append(item)

View File

@ -91,10 +91,23 @@ def test_get_newsletters_by_transports(mock_get, cell):
mock_get.return_value = mock_json
assert cell.get_newsletters() == expected_newsletters
@mock.patch('combo.apps.newsletters.models.requests.get')
def test_get_newsletters_by_unrestricted_transports(mock_get, cell):
cell.transports_restrictions = ''
expected_newsletters = []
for n in NEWSLETTERS:
for t in n['transports']:
expected_newsletters.append(n)
mock_json = mock.Mock()
mock_json.json.return_value = {'err': 0,
'data': NEWSLETTERS}
mock_get.return_value = mock_json
assert cell.get_newsletters() == expected_newsletters
@mock.patch('combo.apps.newsletters.models.requests.get')
def test_get_newsletters_by_resources(mock_get, cell):
restrictions = ('marches-publics', 'familles', 'democratie-locale')
cell.transports_restrictions = 'mail'
cell.resources_restrictions = ','.join(restrictions)
expected_newsletters = []
for n in NEWSLETTERS: