Implemented proper property overrides

This commit is contained in:
Max Berger
2026-03-10 22:35:26 +01:00
parent 6f4dbd10e4
commit d513efeaac
6 changed files with 150 additions and 12 deletions

View File

@@ -59,6 +59,7 @@ collection_by_map = true
collection_by_token = true
permit_create_token = true
permit_create_map = true
permit_properties_overlay = true
"""
)

View File

@@ -112,3 +112,61 @@ def test_create_and_delete_share_by_map(page: Page, radicale_server: str) -> Non
expect(
page.locator("tr[data-name='sharemaprowtemplate']:not(.hidden)")
).to_have_count(0)
def test_share_with_property_overrides(page: Page, radicale_server: str) -> None:
login(page, radicale_server)
# Create a collection with specific details
page.click('a[data-name="new"]')
page.locator('#createcollectionscene input[data-name="displayname"]').fill("Test Collection")
page.locator('#createcollectionscene input[data-name="description"]').fill("Original Description")
page.locator('#createcollectionscene input[data-name="color"]').fill("#ff0000")
page.click('#createcollectionscene button[data-name="submit"]')
page.hover("article:not(.hidden)")
page.click('article:not(.hidden) a[data-name="share"]', force=True, strict=True)
page.click('button[data-name="sharebytoken"]')
# Verify defaults
expect(page.locator('input[data-name="description_override"]')).to_have_value("Original Description")
expect(page.locator('input[data-name="color_override"]')).to_have_value("#ff0000")
expect(page.locator('input[data-name="description_override"]')).to_be_disabled()
expect(page.locator('input[data-name="color_override"]')).to_be_disabled()
# Set overrides
page.click('label[for="newshare_attr_description_enabled"]')
page.locator('input[data-name="description_override"]').fill("Overridden Description")
page.click('label[for="newshare_attr_color_enabled"]')
page.locator('input[data-name="color_override"]').fill("#00ff00")
page.click('#newshare button[data-name="submit"]')
# Verify the share was created
expect(
page.locator("tr[data-name='sharetokenrowtemplate']:not(.hidden)")
).to_have_count(1)
def test_share_journal_no_overrides(page: Page, radicale_server: str) -> None:
login(page, radicale_server)
# Create a collection of type JOURNAL
page.click('a[data-name="new"]')
page.locator('#createcollectionscene select[data-name="type"]').select_option("JOURNAL")
page.locator('#createcollectionscene input[data-name="displayname"]').fill("Test Journal")
page.locator('#createcollectionscene input[data-name="description"]').fill("Journal Description")
page.click('#createcollectionscene button[data-name="submit"]')
page.hover("article:not(.hidden)")
page.click('article:not(.hidden) a[data-name="share"]', force=True, strict=True)
page.click('button[data-name="sharebytoken"]')
# Verify property override fieldset is hidden
expect(page.locator('fieldset[data-name="properties_override"]')).to_be_hidden()
# Create the share
page.click('#newshare button[data-name="submit"]')
# Verify the share was created
expect(
page.locator("tr[data-name='sharetokenrowtemplate']:not(.hidden)")
).to_have_count(1)