diff --git a/copanier/models.py b/copanier/models.py index 72cdbdc..cd43b9c 100644 --- a/copanier/models.py +++ b/copanier/models.py @@ -84,7 +84,7 @@ class Person(Base): @property def is_staff(self): - return self.email in config.STAFF + return not config.STAFF or self.email in config.STAFF @dataclass diff --git a/tests/test_models.py b/tests/test_models.py index b957bbe..f11051c 100644 --- a/tests/test_models.py +++ b/tests/test_models.py @@ -2,6 +2,7 @@ from datetime import datetime, timedelta import pytest +from copanier import config from copanier.models import Delivery, Product, Person, Order, ProductOrder @@ -88,3 +89,17 @@ def test_can_load_delivery(delivery): delivery.persist() loaded = Delivery.load(delivery.id) assert loaded.producer == "Corto" + + +def test_person_is_staff_if_email_is_in_config(monkeypatch): + monkeypatch.setattr(config, 'STAFF', ["foo@bar.fr"]) + person = Person(email="foo@bar.fr") + assert person.is_staff + person = Person(email="foo@bar.org") + assert not person.is_staff + + +def test_person_is_staff_if_no_staff_in_config(monkeypatch): + monkeypatch.setattr(config, 'STAFF', []) + person = Person(email="foo@bar.fr") + assert person.is_staff