def METHOD_NAME(
    phase_factory, user, user2, member_factory, subject_factory
):
    phase, _, project, item = setup_phase(
        phase_factory,
        subject_factory,
        phases.DebatePhase,
        module__project__access=Access.PRIVATE,
    )
    anonymous, moderator, initiator = setup_users(project)
    member = member_factory(organisation=project.organisation)
    participant = user2
    project.participants.add(participant)
    assert not project.is_public
    with freeze_phase(phase):
        assert not rules.has_perm(perm_name, anonymous, item)
        assert not rules.has_perm(perm_name, user, item)
        assert rules.has_perm(perm_name, participant, item)
        assert rules.has_perm(perm_name, member.member, item)
        assert rules.has_perm(perm_name, moderator, item)
        assert rules.has_perm(perm_name, initiator, item)