async def METHOD_NAME(
    mock_project_subsystem: dict,
    logged_user: UserInfoDict,
    project: Callable[..., Awaitable[ProjectAtDB]],
    pipeline: Callable[..., dict[str, Any]],
    comp_task: Callable[..., dict[str, Any]],
    comp_task_listening_task: None,
    client,
    update_values: dict[str, Any],
    expected_calls: list[str],
    task_class: NodeClass,
    faker: Faker,
):
    db_engine: aiopg.sa.Engine = client.app[APP_DB_ENGINE_KEY]
    some_project = await project(logged_user)
    pipeline(project_id=f"{some_project.uuid}")
    task = comp_task(
        project_id=f"{some_project.uuid}",
        node_id=faker.uuid4(),
        outputs=json.dumps({}),
        node_class=task_class,
    )
    async with db_engine.acquire() as conn:
        # let's update some values
        await conn.execute(
            comp_tasks.update()
            .values(**update_values)
            .where(comp_tasks.c.task_id == task["task_id"])
        )
        # tests whether listener gets executed
        for call_name, mocked_call in mock_project_subsystem.items():
            if call_name in expected_calls:
                async for attempt in AsyncRetrying(
                    wait=wait_fixed(1),
                    stop=stop_after_delay(10),
                    retry=retry_if_exception_type(AssertionError),
                    before_sleep=before_sleep_log(logger, logging.INFO),
                    reraise=True,
                ):
                    with attempt:
                        mocked_call.assert_awaited()
            else:
                mocked_call.assert_not_called()