Source of file ConditionalsTest.php
Size: 2,917 Bytes - Last Modified: 2021-12-23T10:56:06+00:00
/var/www/docs.ssmods.com/process/src/tests/php/ConditionalsTest.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 | <?php namespace UncleCheese\DisplayLogic\Tests; use SilverStripe\Dev\SapphireTest; use SilverStripe\Forms\FieldList; use SilverStripe\Forms\TextField; class ConditionalsTest extends SapphireTest { public function testIsEqual() { $form = new FieldList( TextField::create('Field1'), TextField::create('Field2')->displayIf('Field1')->isEqualTo('100')->end() ); $output = $form->forTemplate(); $contains = 'data-display-logic-eval="(this.findHolder('Field1').evaluateEqualTo('100'))"'; $this->assertContains($contains, $output); $this->assertContains('data-display-logic-masters="Field1"', $output); } public function testIsNotEqualTo() { $form = new FieldList( TextField::create('Field1'), TextField::create('Field2')->displayIf('Field1')->isNotEqualTo('100')->end() ); $output = $form->forTemplate(); $contains = 'data-display-logic-eval="(this.findHolder('Field1').evaluateNotEqualTo('100'))"'; $this->assertContains($contains, $output); $this->assertContains('data-display-logic-masters="Field1"', $output); } public function testIsGreaterThan() { $form = new FieldList( TextField::create('Field1'), TextField::create('Field2')->displayIf('Field1')->isGreaterThan('100')->end(), TextField::create('Field3')->displayIf('Field1')->isGreaterThan('200')->end() ); $output = $form->forTemplate(); $this->assertContains('data-display-logic-eval="(this.findHolder('Field1').evaluateGreaterThan('100'))"', $output); $this->assertContains('data-display-logic-eval="(this.findHolder('Field1').evaluateGreaterThan('200'))"', $output); $this->assertContains('data-display-logic-masters="Field1"', $output); $this->assertEquals(2, substr_count($output, 'data-display-logic-masters="')); $this->assertEquals(2, substr_count($output, 'data-display-logic-masters="Field1"')); } public function testIsLessThan() { $form = new FieldList( TextField::create('Field1'), TextField::create('Field2')->displayIf('Field1')->isLessThan('50')->end() ); $output = $form->forTemplate(); $this->assertContains('data-display-logic-eval="(this.findHolder('Field1').evaluateLessThan('50'))', $output); $this->assertContains('data-display-logic-masters="Field1"', $output); } public function testAggregatedRules() { $form = new FieldList( TextField::create('Field1'), TextField::create('Field2'), TextField::create('Field3')->displayIf('Field1')->isLessThan('50') ->andIf('Field2')->isGreaterThan('80')->end() ); $output = $form->forTemplate(); $this->assertContains('(this.findHolder('Field1').evaluateLessThan('50') ' . '&& this.findHolder('Field2').evaluateGreaterThan('80'))', $output); $this->assertContains('data-display-logic-masters="Field1,Field2"', $output); } } |