Resolve public poll invitations to tenant policy

This commit is contained in:
2026-08-04 09:29:36 +02:00
parent 5e9aa58eda
commit 3c126a7ee1
5 changed files with 53 additions and 1 deletions
+9
View File
@@ -2,6 +2,7 @@ from __future__ import annotations
import unittest
from datetime import datetime, timezone
from types import SimpleNamespace
from sqlalchemy import create_engine
from sqlalchemy.orm import Session, sessionmaker
@@ -9,6 +10,7 @@ from sqlalchemy.orm import Session, sessionmaker
from govoplan_core.db.base import Base
from govoplan_core.core.poll import PollResponseRef, PollResponseSubmissionProvider, PollSchedulingProvider
from govoplan_poll.backend.capabilities import SqlPollSchedulingProvider
from govoplan_poll.backend.manifest import get_manifest
from govoplan_poll.backend.db.models import Poll, PollInvitation, PollLifecycleTransition, PollOption, PollResponse
from govoplan_poll.backend.schemas import (
PollAnswerInput,
@@ -304,6 +306,13 @@ class PollServiceTests(unittest.TestCase):
poll_id=poll.id,
payload=PollInvitationCreateRequest(respondent_label="External participant"),
)
resolver = get_manifest().public_tenant_resolver
self.assertIsNotNone(resolver)
request = SimpleNamespace(
path_params={"token": token},
url=SimpleNamespace(path=f"/api/v1/poll/public/{token}"),
)
self.assertEqual("tenant-1", resolver(request, self.session))
response = submit_poll_response_with_token(
self.session,