Ensure 0 quota on user is honored

This commit is contained in:
Agate 2020-04-15 15:51:47 +02:00
parent 1a752287b7
commit 942367fce0
No known key found for this signature in database
GPG Key ID: 6B501DFD73514E14
2 changed files with 15 additions and 12 deletions

View File

@ -258,7 +258,11 @@ class User(AbstractUser):
return self.actor return self.actor
def get_upload_quota(self): def get_upload_quota(self):
return self.upload_quota or preferences.get("users__upload_quota") return (
self.upload_quota
if self.upload_quota is not None
else preferences.get("users__upload_quota")
)
def get_quota_status(self): def get_quota_status(self):
data = self.actor.get_current_usage() data = self.actor.get_current_usage()

View File

@ -185,18 +185,17 @@ def test_get_channels_groups(factories):
] ]
def test_user_quota_default_to_preference(factories, preferences): @pytest.mark.parametrize(
preferences["users__upload_quota"] = 42 "default_quota, user_quota, expected",
[(1000, None, 1000), (1000, 42, 42), (1000, 0, 0)],
)
def test_user_quota_set_on_user(
default_quota, user_quota, expected, factories, preferences
):
preferences["users__upload_quota"] = default_quota
user = factories["users.User"]() user = factories["users.User"](upload_quota=user_quota)
assert user.get_upload_quota() == 42 assert user.get_upload_quota() == expected
def test_user_quota_set_on_user(factories, preferences):
preferences["users__upload_quota"] = 42
user = factories["users.User"](upload_quota=66)
assert user.get_upload_quota() == 66
def test_user_get_quota_status(factories, preferences, mocker): def test_user_get_quota_status(factories, preferences, mocker):