test and corrections

This commit is contained in:
Benjamin Dalsass
2025-11-27 16:49:43 +01:00
parent 8401aa1aec
commit e67fcbcfdc
5 changed files with 35 additions and 21 deletions

View File

@@ -34,7 +34,7 @@ class OqlFormBlock extends TextAreaFormBlock
protected function RegisterOptions(OptionsRegister $oOptionsRegister): void
{
parent::RegisterOptions($oOptionsRegister);
$oOptionsRegister->SetOption('with_ai_button', true);
$oOptionsRegister->SetOption('with_ai_button', false);
}
/** @inheritdoc */

View File

@@ -121,6 +121,14 @@ class IORegister
return $this;
}
/**
* @param string $sName
* @param string $sType
* @param AbstractConverter|null $oConverter
*
* @return void
* @throws RegisterException
*/
public function AddOutput(string $sName, string $sType, AbstractConverter $oConverter = null): void
{
$oFormOutput = new FormOutput($sName, $sType, $this->oFormBlock, $oConverter);

View File

@@ -110,14 +110,20 @@
{%- block oql_form_widget -%}
<textarea is="oql-element" {{ block('widget_attributes') }}>{{ value }}</textarea>
{%- endblock oql_form_widget -%}
{%- block oql_form_row -%}
{{- form_row(form) -}}
<div style="text-align: right">
{% if with_ai_button is defined and with_ai_button %}
<button class="ibo-button ibo-button ibo-block ibo-is-primary ibo-is-neutral " data-role="ibo-button" type="button" name="AI" value="" aria-label="AI">
<span class="ibo-button--icon fas fa-magic"></span>
Use AI assistant
</button>
<button class="ibo-button ibo-button ibo-block ibo-is-alternative ibo-is-neutral " data-role="ibo-button" type="button" name="AI" value="" aria-label="AI">
<span class="ibo-button--icon fas fa-magic"></span>
Use AI assistant
</button>
{% endif %}
<button class="ibo-button ibo-button ibo-block ibo-is-primary ibo-is-neutral " data-role="ibo-button" type="button" name="Book" value="" aria-label="AI">
<button class="ibo-button ibo-button ibo-block ibo-is-alternative ibo-is-neutral " data-role="ibo-button" type="button" name="Book" value="" aria-label="AI">
<span class="ibo-button--icon fas fa-book"></span>
Open query phrase book
</button>
{%- endblock oql_form_widget -%}
</div>
{%- endblock oql_form_row -%}

View File

@@ -49,7 +49,7 @@ abstract class AbstractFormsTest extends ItopDataTestCase
return $oParent->Get($sName);
}
public function GetIORegister(AbstractFormBlock $oFormBlock): IORegister
public function GivenIORegister(AbstractFormBlock $oFormBlock): IORegister
{
$reflection = new ReflectionClass(AbstractFormBlock::class);
$reflection_property = $reflection->getProperty('oIORegister');

View File

@@ -26,7 +26,7 @@ class IORegisterTest extends AbstractFormsTest
parent::setUp();
$this->oFormBlock = $this->GivenFormBlock('OneBlock');
$this->oIORegister = $this->GetIORegister($this->oFormBlock);
$this->oIORegister = $this->GivenIORegister($this->oFormBlock);
}
public function testAddInput(): void
@@ -81,11 +81,11 @@ class IORegisterTest extends AbstractFormsTest
$oSubForm->AddInput('input_from_C', StringIOFormat::class);
$oSubForm->AddInput('unbound_input', StringIOFormat::class);
$this->GetIORegister($oSubForm)->DependsOn('input_from_A', 'SubFormA', TextFormBlock::OUTPUT_TEXT);
$this->GetIORegister($oSubForm)->DependsOn('input_from_B', 'SubFormB', CheckboxFormBlock::OUTPUT_CHECKED);
$this->GetIORegister($oSubForm)->DependsOn('input_from_C', 'SubFormC', TextFormBlock::OUTPUT_TEXT);
$this->GivenIORegister($oSubForm)->DependsOn('input_from_A', 'SubFormA', TextFormBlock::OUTPUT_TEXT);
$this->GivenIORegister($oSubForm)->DependsOn('input_from_B', 'SubFormB', CheckboxFormBlock::OUTPUT_CHECKED);
$this->GivenIORegister($oSubForm)->DependsOn('input_from_C', 'SubFormC', TextFormBlock::OUTPUT_TEXT);
$aBoundInputs = $this->GetIORegister($oSubForm)->GetBoundInputs();
$aBoundInputs = $this->GivenIORegister($oSubForm)->GetBoundInputs();
$this->assertCount(3, $aBoundInputs);
}
@@ -94,7 +94,7 @@ class IORegisterTest extends AbstractFormsTest
$this->oFormBlock->AddOutput('output', StringIOFormat::class);
$oSubFormA = $this->GivenSubFormBlock($this->oFormBlock, 'SubFormA', TextFormBlock::class);
$oIORegisterA = $this->GetIORegister($oSubFormA);
$oIORegisterA = $this->GivenIORegister($oSubFormA);
$oIORegisterA->ImpactParent(TextFormBlock::OUTPUT_TEXT, 'output');
@@ -105,7 +105,7 @@ class IORegisterTest extends AbstractFormsTest
{
$this->GivenSubFormBlock($this->oFormBlock, 'SubFormA', TextFormBlock::class);
$oSubFormB = $this->GivenSubFormBlock($this->oFormBlock, 'SubFormB', TextFormBlock::class);
$oIORegisterB = $this->GetIORegister($oSubFormB);
$oIORegisterB = $this->GivenIORegister($oSubFormB);
$oIORegisterB->AddInputDependsOn('input', 'SubFormA', TextFormBlock::OUTPUT_TEXT);
@@ -117,7 +117,7 @@ class IORegisterTest extends AbstractFormsTest
$this->oFormBlock->AddOutput('output', StringIOFormat::class);
$oSubFormA = $this->GivenSubFormBlock($this->oFormBlock, 'SubFormA', TextFormBlock::class);
$oIORegisterA = $this->GetIORegister($oSubFormA);
$oIORegisterA = $this->GivenIORegister($oSubFormA);
$oIORegisterA->ImpactParent(TextFormBlock::OUTPUT_TEXT, 'output');
@@ -172,8 +172,8 @@ class IORegisterTest extends AbstractFormsTest
$oSubForm = $this->GivenSubFormBlock($this->oFormBlock, 'SubForm', TextFormBlock::class);
$oSubForm->AddInput('input_from_A', StringIOFormat::class);
$this->GetIORegister($oSubForm)->DependsOn('input_from_A', 'SubFormA', TextFormBlock::OUTPUT_TEXT);
$this->assertTrue($this->GetIORegister($oSubForm)->HasDependenciesBlocks());
$this->GivenIORegister($oSubForm)->DependsOn('input_from_A', 'SubFormA', TextFormBlock::OUTPUT_TEXT);
$this->assertTrue($this->GivenIORegister($oSubForm)->HasDependenciesBlocks());
$this->assertFalse($this->oIORegister->HasDependenciesBlocks());
}
@@ -185,9 +185,9 @@ class IORegisterTest extends AbstractFormsTest
$oSubForm = $this->GivenSubFormBlock($this->oFormBlock, 'SubForm', TextFormBlock::class);
$oSubForm->AddInput('input_from_A', StringIOFormat::class);
$this->GetIORegister($oSubForm)->DependsOn('input_from_A', 'SubFormA', TextFormBlock::OUTPUT_TEXT);
$this->assertFalse($this->GetIORegister($oSubForm)->ImpactDependentsBlocks());
$this->GivenIORegister($oSubForm)->DependsOn('input_from_A', 'SubFormA', TextFormBlock::OUTPUT_TEXT);
$this->assertFalse($this->GivenIORegister($oSubForm)->ImpactDependentsBlocks());
$this->assertTrue($this->GetIORegister($oSubFormA)->ImpactDependentsBlocks());
$this->assertTrue($this->GivenIORegister($oSubFormA)->ImpactDependentsBlocks());
}
}