refactor(poll): implement core participation contract

This commit is contained in:
2026-07-22 03:21:08 +02:00
parent eb003208e4
commit 38ecff60a5
4 changed files with 58 additions and 251 deletions

View File

@@ -0,0 +1,32 @@
from __future__ import annotations
import unittest
from govoplan_core.core.poll_participation import (
CAPABILITY_POLL_PARTICIPATION_GATEWAY as CORE_CAPABILITY,
PollGovernedInvitationCommand as CorePollGovernedInvitationCommand,
PollParticipationGatewayProvider as CorePollParticipationGatewayProvider,
PollParticipationPolicy as CorePollParticipationPolicy,
)
from govoplan_poll.backend.capabilities import SqlPollSchedulingProvider
from govoplan_poll.backend.participation import (
CAPABILITY_POLL_PARTICIPATION_GATEWAY,
PollGovernedInvitationCommand,
PollParticipationGatewayProvider,
PollParticipationPolicy,
)
class PollParticipationCompatibilityTests(unittest.TestCase):
def test_legacy_imports_are_exact_core_contract_re_exports(self) -> None:
self.assertIs(CORE_CAPABILITY, CAPABILITY_POLL_PARTICIPATION_GATEWAY)
self.assertIs(CorePollGovernedInvitationCommand, PollGovernedInvitationCommand)
self.assertIs(CorePollParticipationPolicy, PollParticipationPolicy)
self.assertIs(CorePollParticipationGatewayProvider, PollParticipationGatewayProvider)
def test_sql_provider_implements_the_core_contract(self) -> None:
self.assertIsInstance(SqlPollSchedulingProvider(), CorePollParticipationGatewayProvider)
if __name__ == "__main__":
unittest.main()