public function testIsCreatingFormWithTransformers() { $fieldOneMock = $this->prophesize('Symfony\\Component\\Form\\FormBuilder'); $formConfiguration = ['foo' => ['field1' => ['enabled' => true, 'type' => 'field1_type', 'transformer' => ['class' => 'Linio\\DynamicFormBundle\\Tests\\Form\\FormFactoryTest\\MockTransformer', 'calls' => [['setUserFormat', ['d/m/Y']], ['setInputFormat', ['Y-m-d']]]]]]]; $bornDateTransformer = new $formConfiguration['foo']['field1']['transformer']['class'](); $bornDateTransformer->setUserFormat(['d/m/Y']); $bornDateTransformer->setInputFormat(['Y-m-d']); $expectedFieldOptions = []; $this->formFactoryMock->createNamedBuilder('foo', 'form', [], [])->willReturn($this->formBuilderMock->reveal()); $this->formBuilderMock->create('field1', 'field1_type', $expectedFieldOptions)->willReturn($fieldOneMock->reveal()); $fieldOneMock->addModelTransformer($bornDateTransformer)->shouldBeCalled(); $this->formBuilderMock->add($fieldOneMock->reveal())->shouldBeCalledTimes(1); $this->formBuilderMock->getForm()->willReturn('foo_form'); $this->formFactory->setFormFactory($this->formFactoryMock->reveal()); $this->formFactory->setConfiguration($formConfiguration); $actual = $this->formFactory->createForm('foo'); $this->assertEquals('foo_form', $actual); }
public function testIsGrantedNotCachedNonexistentPermission() { $this->permissionBuffer->get(Argument::exact($this->aliceRequester), Argument::exact($this->fooResource))->willReturn(null)->shouldBeCalledTimes(1); $this->databaseProvider->findMask(Argument::exact($this->aliceRequester), Argument::exact($this->fooResource))->shouldBeCalledTimes(1)->willThrow('AlexDpy\\Acl\\Exception\\MaskNotFoundException'); $expectedPermission = new Permission($this->aliceRequester, $this->fooResource, new BasicMaskBuilder(0)); $expectedPermission->setPersistent(false); $this->permissionBuffer->add(Argument::that(function (PermissionInterface $permission) use($expectedPermission) { $this->assertEquals($expectedPermission, $permission); return $permission == $expectedPermission; }))->shouldBeCalledTimes(1); $this->databaseProvider->insertPermission()->shouldNotBeCalled(); $this->databaseProvider->updatePermission()->shouldNotBeCalled(); $this->databaseProvider->deletePermission()->shouldNotBeCalled(); $this->assertFalse($this->acl->isGranted($this->aliceRequester, $this->fooResource, 'view')); }
/** * @test */ public function addDelegatesToConcreteQueryBuilder() { $this->concreteQueryBuilder->add(Argument::exact('select'), Argument::exact('aField'), Argument::cetera())->shouldBeCalled()->willReturn($this->subject); $this->subject->add('select', 'aField'); }
public function testGrantShouldCallMaskBuilderAdd() { $this->maskBuilder->add(Argument::exact('view'))->shouldBeCalled(1); $this->permission->grant('view'); }