def METHOD_NAME(phase_factory, poll_factory, user, user_factory):
    phase, _, project, poll = setup_phase(
        phase_factory, poll_factory, phases.VotingPhase
    )
    anonymous, moderator, _ = setup_users(project)
    initiator = user_factory()
    project.organisation.initiators.add(initiator)
    assert project.is_public
    with freeze_pre_phase(phase):
        assert not rules.has_perm(perm_name, anonymous, poll)
        assert not rules.has_perm(perm_name, user, poll)
        assert rules.has_perm(perm_name, moderator, poll)
        assert rules.has_perm(perm_name, initiator, poll)