Ejemplo n.º 1
0
def test_serialize_user_class_detailed(app, authed_client):
    user_class = UserClass.from_pk(1)
    data = NewJSONEncoder().default(user_class)
    check_dictionary(
        data,
        {
            'id': 1,
            'name': 'User',
            'permissions': ['permissions_modify', 'users_edit_settings'],
        },
        strict=True,
    )
Ejemplo n.º 2
0
def test_modify_secondary_user_class(app, authed_client):
    authed_client.put(
        '/user_classes/2',
        data=json.dumps({
            'permissions': {
                'users_edit_settings': False
            },
            'secondary': True
        }),
    )

    secondary_class = SecondaryClass.from_pk(2)
    assert not secondary_class.permissions

    user_class = UserClass.from_pk(2)
    assert 'users_edit_settings' in user_class.permissions
Ejemplo n.º 3
0
def test_create_user_class(app, authed_client):
    response = authed_client.post(
        '/user_classes',
        data=json.dumps({
            'name': 'user_v3',
            'permissions': ['users_edit_settings', 'invites_send'],
        }),
    )
    check_json_response(
        response,
        {
            'id': 7,
            'name': 'user_v3',
            'permissions': ['users_edit_settings', 'invites_send'],
        },
    )

    user_class = UserClass.from_pk(7)
    assert user_class.name == 'user_v3'
    assert user_class.permissions == ['users_edit_settings', 'invites_send']
Ejemplo n.º 4
0
def test_modify_user_class(app, authed_client):
    response = authed_client.put(
        '/user_classes/1',
        data=json.dumps({
            'permissions': {
                'users_edit_settings': False,
                'invites_send': True,
            }
        }),
    )
    check_json_response(
        response,
        {
            'name': 'User',
            'permissions': ['permissions_modify', 'invites_send'],
        },
    )
    user_class = UserClass.from_pk(1)
    assert set(user_class.permissions) == {
        'permissions_modify',
        'invites_send',
    }
Ejemplo n.º 5
0
def test_create_user_class_secondary(app, authed_client):
    response = authed_client.post(
        '/user_classes',
        data=json.dumps({
            'name': 'User',
            'permissions': ['users_edit_settings', 'invites_send'],
            'secondary': True,
        }),
    )
    check_json_response(
        response,
        {
            'id': 5,
            'name': 'User',
            'permissions': ['users_edit_settings', 'invites_send'],
        },
    )

    user_class = SecondaryClass.from_pk(5)
    assert user_class.name == 'User'
    assert user_class.permissions == ['users_edit_settings', 'invites_send']

    assert not UserClass.from_pk(7)
Ejemplo n.º 6
0
def test_delete_user_class_with_user(app, authed_client):
    response = authed_client.delete('/user_classes/1').get_json()
    assert (response['response'] ==
            'You cannot delete a UserClass while users are assigned to it.')
    assert UserClass.from_pk(1)
Ejemplo n.º 7
0
def test_delete_user_class(app, authed_client):
    response = authed_client.delete('/user_classes/2').get_json()
    assert response['response'] == 'UserClass Power User has been deleted.'
    assert not UserClass.from_pk(2)
    assert not UserClass.from_name('Power User')
Ejemplo n.º 8
0
    def user_class_model(self) -> 'UserClass_':
        from core.permissions.models import UserClass

        return UserClass.from_pk(self.user_class_id)
Ejemplo n.º 9
0
def test_serialize_user_class_permless(app, client):
    user_class = UserClass.from_pk(1)
    data = NewJSONEncoder().default(user_class)
    check_dictionary(data, {'id': 1, 'name': 'User'})