def test_delete_group(data_fixture): user = data_fixture.create_user() group_1 = data_fixture.create_group(user=user) database = data_fixture.create_database_application(group=group_1) table = data_fixture.create_database_table(database=database) data_fixture.create_group(user=user) user_2 = data_fixture.create_user() group_3 = data_fixture.create_group(user=user_2) handler = CoreHandler() handler.delete_group(user, group_1) assert Database.objects.all().count() == 0 assert Table.objects.all().count() == 0 assert f'database_table_{table.id}' not in connection.introspection.table_names() assert Group.objects.all().count() == 2 assert GroupUser.objects.all().count() == 2 with pytest.raises(UserNotInGroupError): handler.delete_group(user, group_3) handler.delete_group(user_2, group_3) assert Group.objects.all().count() == 1 assert GroupUser.objects.all().count() == 1 with pytest.raises(ValueError): handler.delete_group(user=user_2, group=object())
def test_delete_group(send_mock, data_fixture): user = data_fixture.create_user() group_1 = data_fixture.create_group(user=user) database = data_fixture.create_database_application(group=group_1) table = data_fixture.create_database_table(database=database) data_fixture.create_group(user=user) user_2 = data_fixture.create_user() group_3 = data_fixture.create_group(user=user_2) handler = CoreHandler() handler.delete_group(user, group_1) send_mock.assert_called_once() assert send_mock.call_args[1]['group'].id == group_1.id assert send_mock.call_args[1]['user'].id == user.id assert len(send_mock.call_args[1]['group_users']) == 1 assert send_mock.call_args[1]['group_users'][0].id == user.id assert Database.objects.all().count() == 0 assert Table.objects.all().count() == 0 assert f'database_table_{table.id}' not in connection.introspection.table_names( ) assert Group.objects.all().count() == 2 assert GroupUser.objects.all().count() == 2 with pytest.raises(UserNotInGroupError): handler.delete_group(user, group_3) handler.delete_group(user_2, group_3) assert Group.objects.all().count() == 1 assert GroupUser.objects.all().count() == 1 with pytest.raises(ValueError): handler.delete_group(user=user_2, group=object())