/** @test */ public function it_sets_the_required_attribute_implicitly() { $options = ['rules' => 'required|min:3']; $hidden = new InputType('hidden_id', 'hidden', $this->plainForm, $options); $hidden->render(); $this->assertRegExp('/required/', $hidden->getOption('label_attr.class')); }
/** @test */ public function explicit_value_overrides_default_values() { $options = ['default_value' => 100, 'value' => 500]; $input = new InputType('test', 'text', $this->plainForm, $options); $this->assertEquals(500, $input->getValue()); $this->assertEquals(100, $input->getDefaultValue()); }
/** @test */ public function it_prevents_rendering_label_for_hidden_field() { $options = ['default_value' => 12, 'required' => true, 'help_block' => ['text' => 'this is help']]; $expectedOptions = $this->getDefaults(['required' => 'required'], 'hidden_id', 'Hidden Id', 13, 'this is help'); $expectedOptions['help_block']['helpBlockAttrs'] = 'class="help-block" '; $expectedOptions['required'] = true; $expectedOptions['label_attr']['class'] .= ' required'; $expectedViewData = ['name' => 'hidden_id', 'nameKey' => 'hidden_id', 'type' => 'hidden', 'options' => $expectedOptions, 'showLabel' => false, 'showField' => true, 'showError' => true]; $this->fieldExpetations('text', $expectedViewData); $hidden = new InputType('hidden_id', 'hidden', $this->plainForm, $options); $hidden->render(['default_value' => 13]); }
/** @test */ public function it_uses_the_template_prefix() { $viewStub = $this->getMockBuilder('Illuminate\\View\\Factory')->setMethods(['make', 'with', 'render'])->disableOriginalConstructor()->getMock(); $viewStub->method('make')->willReturn($viewStub); $viewStub->method('with')->willReturn($viewStub); $helper = new FormHelper($viewStub, $this->config); $form = $this->formBuilder->plain(); $form->setTemplatePrefix('test::'); // Check that the field uses the correct template $viewStub->expects($this->atLeastOnce())->method('make')->with($this->equalTo('test::textinput')); $viewStub->expects($this->atLeastOnce())->method('make')->with($this->equalTo('test::textinput')); $form->setFormHelper($helper); // Create a new field to render directly and test // with the view stub generated above $field = new InputType('name', 'text', $form, ['template' => 'textinput']); $field->render(); }