*** Settings ***
Documentation    TDD Bug #1023 — CLI commands should succeed without explicit init
...              Integration smoke tests verifying that DB-dependent CLI commands
...              (e.g., ``resource add``, ``project create``) succeed in a fresh
...              environment where ``agents init`` has NOT been run, when
...              ``CLEVERAGENTS_AUTO_APPLY_MIGRATIONS=true`` is set.
...
...              Bug #1023 reports that ``CLEVERAGENTS_AUTO_APPLY_MIGRATIONS=true``
...              triggers migrations on an existing database but does NOT create
...              the database file or its parent directory structure.
Resource         ${CURDIR}/common.resource
Suite Setup      Setup Test Environment
Suite Teardown   Cleanup Test Environment

*** Variables ***
${HELPER}    ${CURDIR}/helper_tdd_e2e_implicit_init.py

*** Test Cases ***
TDD Resource Add Succeeds Without Explicit Init
    [Documentation]    Verify that ``resource add`` succeeds in a fresh
    ...                environment without prior ``agents init`` when
    ...                ``CLEVERAGENTS_AUTO_APPLY_MIGRATIONS=true`` is set.
    ...                The helper exits 0 with a sentinel when the command
    ...                succeeds (bug is fixed), and exits 1 when the bug is
    ...                present (OperationalError).
    [Tags]    tdd_issue    tdd_issue_1023    tdd_issue_4317    tdd_expected_fail
    ${result}=    Run Process    ${PYTHON}    ${HELPER}    resource-add-no-init    cwd=${WORKSPACE}    timeout=120s    on_timeout=kill
    Log    ${result.stdout}
    Log    ${result.stderr}
    Should Be Equal As Integers    ${result.rc}    0
    Should Contain    ${result.stdout}    tdd-resource-add-no-init-ok

TDD Project Create Succeeds Without Explicit Init
    [Documentation]    Verify that ``project create`` succeeds in a fresh
    ...                environment without prior ``agents init`` when
    ...                ``CLEVERAGENTS_AUTO_APPLY_MIGRATIONS=true`` is set.
    ...                The helper exits 0 with a sentinel when the command
    ...                succeeds (bug is fixed), and exits 1 when the bug is
    ...                present (OperationalError).
    [Tags]    tdd_issue    tdd_issue_1023    tdd_issue_4317    tdd_expected_fail
    ${result}=    Run Process    ${PYTHON}    ${HELPER}    project-create-no-init    cwd=${WORKSPACE}    timeout=120s    on_timeout=kill
    Log    ${result.stdout}
    Log    ${result.stderr}
    Should Be Equal As Integers    ${result.rc}    0
    Should Contain    ${result.stdout}    tdd-project-create-no-init-ok
