[Feature] Alias Support (#151)

Fixes #149

Co-authored-by: Tim Lorsbach <tim@lorsba.ch>
Reviewed-on: enviPath/enviPy#151
This commit is contained in:
2025-10-09 23:14:34 +13:00
parent afeb56622c
commit 68a3f3b982
25 changed files with 675 additions and 31 deletions

View File

@ -258,3 +258,57 @@ class RuleViewTest(TestCase):
)
self.assertEqual(self.user1_default_package.rules.count(), 0)
def test_set_aliases(self):
alias_1 = "Alias 1"
alias_2 = "Alias 2"
response = self.client.post(
reverse("rules"),
{
"rule-name": "Test Rule",
"rule-description": "Just a Description",
"rule-smirks": "[H:5][C:1]([#6:6])([#1,#9,#17,#35,#53:4])[#9,#17,#35,#53]>>[H:5][C:1]([#6:6])([#8])[#1,#9,#17,#35,#53:4]",
"rule-type": "SimpleAmbitRule",
},
)
self.assertEqual(response.status_code, 302)
rule_url = response.url
r = Rule.objects.get(url=rule_url)
response = self.client.post(
reverse(
"package rule detail",
kwargs={"package_uuid": str(r.package.uuid), "rule_uuid": str(r.uuid)},
),
{"aliases": [alias_1, alias_2]},
)
r = Rule.objects.get(url=rule_url)
self.assertEqual(len(r.aliases), 2)
response = self.client.post(
reverse(
"package rule detail",
kwargs={"package_uuid": str(r.package.uuid), "rule_uuid": str(r.uuid)},
),
{"aliases": [alias_1]},
)
r = Rule.objects.get(url=rule_url)
self.assertEqual(len(r.aliases), 1)
response = self.client.post(
reverse(
"package rule detail",
kwargs={"package_uuid": str(r.package.uuid), "rule_uuid": str(r.uuid)},
),
{
# We have to set an empty string to avoid that the parameter is removed
"aliases": ""
},
)
r = Rule.objects.get(url=rule_url)
self.assertEqual(len(r.aliases), 0)