async def METHOD_NAME(spawn_client, fake2, snapshot, role, mongo):
    client = await spawn_client(authorize=True, administrator=True)
    user = await fake2.users.create()
    resp = await client.put(f"/admin/users/{user.id}/role", {"role": role})
    assert resp.status == 200
    if role == AdministratorRole.FULL:
        assert await get_one_field(mongo.users, "administrator", user.id) is True
    assert await resp.json() == snapshot