def test_phase_active(phase_factory, poll_factory, question, choice, vote, user): phase, module, project, _ = setup_phase(phase_factory, poll_factory, phases.VotingPhase) anonymous, moderator, initiator = setup_users(project) assert project.is_public with freeze_phase(phase): assert not rules.has_perm(perm_name, anonymous, module) assert rules.has_perm(perm_name, user, module) assert rules.has_perm(perm_name, moderator, module) assert rules.has_perm(perm_name, initiator, module)
def test_post_phase_project_archived(phase_factory, map_idea_factory, user): phase, _, project, item = setup_phase(phase_factory, map_idea_factory, phases.RatingPhase, module__project__is_archived=True) anonymous, moderator, initiator = setup_users(project) assert project.is_archived with freeze_post_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, moderator, item) assert rules.has_perm(perm_name, initiator, item)
def test_post_phase_project_archived(phase_factory, user): phase, module, project, _ = setup_phase(phase_factory, None, phases.CommentPhase, module__project__is_archived=True) anonymous, moderator, initiator = setup_users(project) assert project.is_archived with freeze_post_phase(phase): assert not rules.has_perm(perm_name, anonymous, module) assert not rules.has_perm(perm_name, user, module) assert rules.has_perm(perm_name, moderator, module) assert rules.has_perm(perm_name, initiator, module)
def test_phase_active_project_draft(phase_factory, user): phase, module, project, _ = setup_phase(phase_factory, None, phases.CollectPhase, module__project__is_draft=True) anonymous, moderator, initiator = setup_users(project) assert project.is_draft with freeze_phase(phase): assert not rules.has_perm(perm_name, anonymous, module) assert not rules.has_perm(perm_name, user, module) assert rules.has_perm(perm_name, moderator, module) assert rules.has_perm(perm_name, initiator, module)
def test_phase_active_project_draft(phase_factory, proposal_factory, user): phase, _, project, item = setup_phase(phase_factory, proposal_factory, phases.RequestPhase, module__project__is_draft=True) anonymous, moderator, initiator = setup_users(project) assert project.is_draft 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, moderator, item) assert rules.has_perm(perm_name, initiator, item)
def test_phase_active(phase_factory, chapter_factory, paragraph_factory, user): phase, _, project, item = setup_phase(phase_factory, chapter_factory, phases.CommentPhase) anonymous, moderator, initiator = setup_users(project) paragraph = paragraph_factory(chapter=item) assert project.is_public with freeze_phase(phase): assert rules.has_perm(perm_name, anonymous, paragraph) assert rules.has_perm(perm_name, user, paragraph) assert rules.has_perm(perm_name, moderator, paragraph) assert rules.has_perm(perm_name, initiator, paragraph)
def test_rule_project_archived(offline_event_factory, user, member_factory): offline_event = offline_event_factory(project__is_archived=True) project = offline_event.project anonymous, moderator, initiator = setup_users(project) member = member_factory(organisation=project.organisation) assert project.is_archived assert rules.has_perm(perm_name, anonymous, offline_event) assert rules.has_perm(perm_name, user, offline_event) assert rules.has_perm(perm_name, member.member, offline_event) assert rules.has_perm(perm_name, moderator, offline_event) assert rules.has_perm(perm_name, initiator, offline_event)
def test_phase_active(phase_factory, idea_factory, user): phase, _, project, item = setup_phase(phase_factory, idea_factory, phases.CollectPhase) anonymous, moderator, initiator = setup_users(project) creator = item.creator assert 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, creator, item) assert rules.has_perm(perm_name, moderator, item) assert rules.has_perm(perm_name, initiator, item)
def test_pre_phase(phase_factory, user, member_factory): phase, module, project, _ = setup_phase(phase_factory, None, phases.CommentPhase) anonymous, moderator, initiator = setup_users(project) member = member_factory(organisation=project.organisation) assert project.is_public with freeze_pre_phase(phase): assert not rules.has_perm(perm_name, anonymous, module) assert not rules.has_perm(perm_name, user, module) assert not rules.has_perm(perm_name, member.member, module) assert rules.has_perm(perm_name, moderator, module) assert rules.has_perm(perm_name, initiator, module)
def test_phase_active(phase_factory, idea_factory, user, member_factory): phase, _, project, item = setup_phase(phase_factory, idea_factory, phases.CollectPhase) anonymous, moderator, initiator = setup_users(project) member = member_factory(organisation=project.organisation) assert project.is_public with freeze_phase(phase): assert not rules.has_perm(perm_name, anonymous, item) assert rules.has_perm(perm_name, user, 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)
def setup_mapidea_moderation(): phase, module, project, item = setup_phase(PhaseFactory, MapIdeaFactory, phases.FeedbackPhase) anonymous, moderator, initiator = setup_users(project) with freeze_phase(phase): url = reverse( 'a4_candy_mapideas:mapidea-moderate', kwargs={ 'organisation_slug': item.project.organisation.slug, 'pk': item.pk, 'year': item.created.year }) return anonymous, moderator, initiator, url
def test_post_phase_project_archived(phase_factory, user, member_factory): phase, module, project, _ = setup_phase(phase_factory, None, phases.CollectPhase, module__project__is_archived=True) anonymous, moderator, initiator = setup_users(project) member = member_factory(organisation=project.organisation) assert project.is_archived with freeze_post_phase(phase): assert not rules.has_perm(perm_name, anonymous, module) assert not rules.has_perm(perm_name, user, module) assert not rules.has_perm(perm_name, member.member, module) assert rules.has_perm(perm_name, moderator, module) assert rules.has_perm(perm_name, initiator, module)
def test_post_phase_project_archived(phase_factory, chapter_factory, user): phase, _, project, item = setup_phase(phase_factory, chapter_factory, phases.CommentPhase, module__project__is_archived=True) anonymous, moderator, initiator = setup_users(project) creator = item.creator assert project.is_archived with freeze_post_phase(phase): assert not rules.has_perm(perm_name, anonymous, item) assert not rules.has_perm(perm_name, user, item) assert not rules.has_perm(perm_name, creator, item) assert rules.has_perm(perm_name, moderator, item) assert rules.has_perm(perm_name, initiator, item)
def test_facetoface_in_blueprints(client, project): anonymous, moderator, initiator = setup_users(project) client.login(username=initiator.email, password='******') blueprints_url = reverse( 'a4dashboard:blueprint-list', kwargs={'organisation_slug': project.organisation.slug}) # facetoface_blueprint_url = reverse( # 'a4dashboard:project-create', # kwargs={ # 'blueprint_slug': 'facetoface', # 'organisation_slug': project.organisation.slug # }) resp = client.get(blueprints_url, follow=True) assert resp.status_code == 200
def test_phase_active_project_draft(phase_factory, user, member_factory): phase, module, project, _ = setup_phase(phase_factory, None, phases.PrioritizePhase, module__project__is_draft=True) anonymous, moderator, initiator = setup_users(project) member = member_factory(organisation=project.organisation) assert project.is_draft with freeze_phase(phase): assert not rules.has_perm(perm_name, anonymous, module) assert not rules.has_perm(perm_name, user, module) assert not rules.has_perm(perm_name, member.member, module) assert rules.has_perm(perm_name, moderator, module) assert rules.has_perm(perm_name, initiator, module)
def test_phase_active_project_draft(phase_factory, topic_factory, user): phase, _, project, item = setup_phase(phase_factory, topic_factory, phases.PrioritizePhase, module__project__is_draft=True) anonymous, moderator, initiator = setup_users(project) creator = item.creator assert project.is_draft with freeze_phase(phase): assert not rules.has_perm(perm_name, anonymous, item) assert not rules.has_perm(perm_name, user, item) assert not rules.has_perm(perm_name, creator, item) assert rules.has_perm(perm_name, moderator, item) assert rules.has_perm(perm_name, initiator, item)
def test_pre_phase(phase_factory, user): phase, module, project, _ = setup_phase(phase_factory, None, phases.CollectPhase) anonymous, moderator, initiator = setup_users(project) assert project.is_public with freeze_pre_phase(phase): assert not rules.has_perm(perm_name, anonymous, module) assert not rules.has_perm(perm_name, user, module) assert rules.has_perm(perm_name, moderator, module) assert rules.has_perm(perm_name, initiator, module) assert not rules.has_perm(perm_name_2, anonymous, module) assert not rules.has_perm(perm_name_2, user, module) assert rules.has_perm(perm_name_2, moderator, module) assert rules.has_perm(perm_name_2, initiator, module)
def test_pre_phase(phase_factory, proposal_factory, user, member_factory): phase, _, project, item = setup_phase(phase_factory, proposal_factory, phases.RequestPhase) anonymous, moderator, initiator = setup_users(project) creator = item.creator member = member_factory(organisation=project.organisation) assert project.is_public with freeze_pre_phase(phase): assert not rules.has_perm(perm_name, anonymous, item) assert not rules.has_perm(perm_name, user, item) assert not rules.has_perm(perm_name, creator, item) assert not rules.has_perm(perm_name, member.member, item) assert rules.has_perm(perm_name, moderator, item) assert rules.has_perm(perm_name, initiator, item)
def test_phase_active_project_draft(phase_factory, map_idea_factory, user, member_factory): phase, _, project, item = setup_phase(phase_factory, map_idea_factory, phases.RatingPhase, module__project__is_draft=True) anonymous, moderator, initiator = setup_users(project) member = member_factory(organisation=project.organisation) assert project.is_draft with freeze_phase(phase): assert not rules.has_perm(perm_name, anonymous, item) assert not rules.has_perm(perm_name, user, item) assert not rules.has_perm(perm_name, member.member, item) assert rules.has_perm(perm_name, moderator, item) assert rules.has_perm(perm_name, initiator, item)
def test_pre_phase(phase_factory, chapter_factory, paragraph_factory, user, member_factory): phase, _, project, item = setup_phase(phase_factory, chapter_factory, phases.CommentPhase) anonymous, moderator, initiator = setup_users(project) member = member_factory(organisation=project.organisation) paragraph = paragraph_factory(chapter=item) assert project.is_public with freeze_pre_phase(phase): assert not rules.has_perm(perm_name, anonymous, paragraph) assert not rules.has_perm(perm_name, user, paragraph) assert not rules.has_perm(perm_name, member.member, paragraph) assert rules.has_perm(perm_name, moderator, paragraph) assert rules.has_perm(perm_name, initiator, paragraph)
def test_post_phase_project_archived(phase_factory, topic_factory, user, member_factory): phase, _, project, item = setup_phase(phase_factory, topic_factory, phases.PrioritizePhase, module__project__is_archived=True) anonymous, moderator, initiator = setup_users(project) member = member_factory(organisation=project.organisation) assert project.is_archived with freeze_post_phase(phase): assert rules.has_perm(perm_name, anonymous, item) assert rules.has_perm(perm_name, user, 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)
def test_phase_active_project_private(phase_factory, user, user2): phase, module, project, _ = setup_phase(phase_factory, None, phases.CollectPhase, module__project__is_public=False) anonymous, moderator, initiator = setup_users(project) participant = user2 project.participants.add(participant) assert not project.is_public with freeze_phase(phase): assert not rules.has_perm(perm_name, anonymous, module) assert not rules.has_perm(perm_name, user, module) assert rules.has_perm(perm_name, participant, module) assert rules.has_perm(perm_name, moderator, module) assert rules.has_perm(perm_name, initiator, module)
def test_rule_project_private(offline_event_factory, user, user2, member_factory): offline_event = offline_event_factory(project__is_public=False) project = offline_event.project anonymous, moderator, initiator = setup_users(project) member = member_factory(organisation=project.organisation) participant = user2 project.participants.add(participant) assert not project.is_public assert not rules.has_perm(perm_name, anonymous, offline_event) assert not rules.has_perm(perm_name, user, offline_event) assert rules.has_perm(perm_name, member.member, offline_event) assert rules.has_perm(perm_name, participant, offline_event) assert rules.has_perm(perm_name, moderator, offline_event) assert rules.has_perm(perm_name, initiator, offline_event)
def test_phase_active_project_private(phase_factory, live_question_factory, user, user2): phase, _, project, item = setup_phase(phase_factory, live_question_factory, phases.IssuePhase, module__project__access=Access. PRIVATE) anonymous, moderator, initiator = setup_users(project) participant = user2 project.participants.add(participant) assert not project.is_public with freeze_phase(phase): assert rules.has_perm(perm_name, anonymous, item) assert rules.has_perm(perm_name, user, item) assert rules.has_perm(perm_name, participant, item) assert rules.has_perm(perm_name, moderator, item) assert rules.has_perm(perm_name, initiator, item)
def test_phase_active_project_private(phase_factory, chapter_factory, paragraph_factory, user, user2): phase, _, project, item = setup_phase(phase_factory, chapter_factory, phases.CommentPhase, module__project__is_public=False) anonymous, moderator, initiator = setup_users(project) participant = user2 project.participants.add(participant) paragraph = paragraph_factory(chapter=item) assert not project.is_public with freeze_phase(phase): assert not rules.has_perm(perm_name, anonymous, paragraph) assert not rules.has_perm(perm_name, user, paragraph) assert rules.has_perm(perm_name, participant, paragraph) assert rules.has_perm(perm_name, moderator, paragraph) assert rules.has_perm(perm_name, initiator, paragraph)
def test_phase_active_project_private(phase_factory, subject_factory, user, user2, member_factory): phase, _, project, item = setup_phase(phase_factory, subject_factory, phases.DebatePhase, module__project__is_public=False) 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, member.member, item) assert rules.has_perm(perm_name, participant, item) assert rules.has_perm(perm_name, moderator, item) assert rules.has_perm(perm_name, initiator, item)
def test_phase_active_project_private(phase_factory, user, user2, member_factory): phase, module, project, _ = setup_phase(phase_factory, None, phases.CollectPhase, 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, module) assert not rules.has_perm(perm_name, user, module) assert rules.has_perm(perm_name, member.member, module) assert rules.has_perm(perm_name, participant, module) assert rules.has_perm(perm_name, moderator, module) assert rules.has_perm(perm_name, initiator, module)
def test_phase_active_project_private(phase_factory, chapter_factory, paragraph_factory, user, user2, member_factory): phase, _, project, item = setup_phase( phase_factory, chapter_factory, phases.CommentPhase, module__project__access=Access.PRIVATE) anonymous, moderator, initiator = setup_users(project) member = member_factory(organisation=project.organisation) participant = user2 project.participants.add(participant) paragraph = paragraph_factory(chapter=item) assert not project.is_public with freeze_phase(phase): assert not rules.has_perm(perm_name, anonymous, paragraph) assert not rules.has_perm(perm_name, user, paragraph) assert rules.has_perm(perm_name, member.member, paragraph) assert rules.has_perm(perm_name, participant, paragraph) assert rules.has_perm(perm_name, moderator, paragraph) assert rules.has_perm(perm_name, initiator, paragraph)
def test_user_is_project_admin(project, user): anonymous, moderator, initiator = setup_users(project) assert not _user_is_project_admin(anonymous) assert not _user_is_project_admin(user) assert _user_is_project_admin(moderator) assert _user_is_project_admin(initiator)
def test_facetoface_in_blueprints(client, project): anonymous, moderator, initiator = setup_users(project) client.login(username=initiator.email, password='******')