예제 #1
0
def test_dao_archive_user(sample_user, sample_organisation, fake_uuid):
    sample_user.current_session_id = fake_uuid

    # create 2 services for sample_user to be a member of (each with another active user)
    service_1 = create_service(service_name='Service 1')
    service_1_user = create_user(email='*****@*****.**')
    service_1.users = [sample_user, service_1_user]
    create_permissions(sample_user, service_1, 'manage_settings')
    create_permissions(service_1_user, service_1, 'manage_settings',
                       'view_activity')

    service_2 = create_service(service_name='Service 2')
    service_2_user = create_user(email='*****@*****.**')
    service_2.users = [sample_user, service_2_user]
    create_permissions(sample_user, service_2, 'view_activity')
    create_permissions(service_2_user, service_2, 'manage_settings')

    # make sample_user an org member
    sample_organisation.users = [sample_user]

    dao_archive_user(sample_user)

    assert sample_user.get_permissions() == {}
    assert sample_user.services == []
    assert sample_user.organisations == []
    assert sample_user.auth_type == EMAIL_AUTH_TYPE
    assert sample_user.email_address == '*****@*****.**'
    assert sample_user.mobile_number is None
    assert sample_user.current_session_id == uuid.UUID(
        '00000000-0000-0000-0000-000000000000')
    assert sample_user.state == 'inactive'
    assert not sample_user.check_password('password')
예제 #2
0
def test_user_can_be_archived_if_the_other_service_members_have_the_manage_settings_permission(sample_service):
    user_1 = create_user(email='*****@*****.**')
    user_2 = create_user(email='*****@*****.**')
    user_3 = create_user(email='*****@*****.**')

    sample_service.users = [user_1, user_2, user_3]

    create_permissions(user_1, sample_service, 'manage_settings')
    create_permissions(user_2, sample_service, 'manage_settings', 'view_activity')
    create_permissions(user_3, sample_service, 'manage_settings', 'send_emails', 'send_letters', 'send_texts')

    assert len(sample_service.users) == 3
    assert user_can_be_archived(user_1)
예제 #3
0
def test_user_cannot_be_archived_if_the_other_service_members_do_not_have_the_manage_setting_permission(
    sample_service, ):
    active_user = create_user(email='*****@*****.**')
    pending_user = create_user(email='*****@*****.**')
    inactive_user = create_user(email='*****@*****.**')

    sample_service.users = [active_user, pending_user, inactive_user]

    create_permissions(active_user, sample_service, 'manage_settings')
    create_permissions(pending_user, sample_service, 'view_activity')
    create_permissions(inactive_user, sample_service, 'send_emails',
                       'send_letters', 'send_texts')

    assert len(sample_service.users) == 3
    assert not user_can_be_archived(active_user)
예제 #4
0
def test_user_cannot_be_archived_if_the_other_service_members_do_not_have_the_manage_setting_permission(
    sample_service, ):
    active_user = create_user(email="*****@*****.**")
    pending_user = create_user(email="*****@*****.**")
    inactive_user = create_user(email="*****@*****.**")

    sample_service.users = [active_user, pending_user, inactive_user]

    create_permissions(active_user, sample_service, "manage_settings")
    create_permissions(pending_user, sample_service, "view_activity")
    create_permissions(inactive_user, sample_service, "send_emails",
                       "send_letters", "send_texts")

    assert len(sample_service.users) == 3
    assert not user_can_be_archived(active_user)
예제 #5
0
def test_dao_archive_user(sample_user, sample_organisation, fake_uuid):
    sample_user.current_session_id = fake_uuid

    # create 2 services for sample_user to be a member of (each with another active user)
    service_1 = create_service(service_name="Service 1")
    service_1_user = create_user(email="*****@*****.**")
    service_1.users = [sample_user, service_1_user]
    create_permissions(sample_user, service_1, "manage_settings")
    create_permissions(service_1_user, service_1, "manage_settings",
                       "view_activity")

    service_2 = create_service(service_name="Service 2")
    service_2_user = create_user(email="*****@*****.**")
    service_2.users = [sample_user, service_2_user]
    create_permissions(sample_user, service_2, "view_activity")
    create_permissions(service_2_user, service_2, "manage_settings")

    # make sample_user an org member
    sample_organisation.users = [sample_user]

    # give sample_user folder permissions for a service_1 folder
    folder = create_template_folder(service_1)
    service_user = dao_get_service_user(sample_user.id, service_1.id)
    service_user.folders = [folder]
    dao_update_service_user(service_user)

    dao_archive_user(sample_user)

    assert sample_user.get_permissions() == {}
    assert sample_user.services == []
    assert sample_user.organisations == []
    assert sample_user.auth_type == EMAIL_AUTH_TYPE
    assert sample_user.email_address == "*****@*****.**"
    assert sample_user.mobile_number is None
    assert sample_user.current_session_id == uuid.UUID(
        "00000000-0000-0000-0000-000000000000")
    assert sample_user.state == "inactive"
    assert not sample_user.check_password("password")
예제 #6
0
def test_user_can_be_archived_if_the_other_service_members_have_the_manage_settings_permission(
    sample_service, ):
    user_1 = create_user(email="*****@*****.**")
    user_2 = create_user(email="*****@*****.**")
    user_3 = create_user(email="*****@*****.**")

    sample_service.users = [user_1, user_2, user_3]

    create_permissions(user_1, sample_service, "manage_settings")
    create_permissions(user_2, sample_service, "manage_settings",
                       "view_activity")
    create_permissions(
        user_3,
        sample_service,
        "manage_settings",
        "send_emails",
        "send_letters",
        "send_texts",
    )

    assert len(sample_service.users) == 3
    assert user_can_be_archived(user_1)