/**
  * Set up class mocker
  *
  * @return void
  */
 public function setUp()
 {
     BaseMock::setDefaultCallBehavior(BaseMock::DEFAULT_BEHAVIOUR_RETURN_NULL);
     $this->classMocker = new ClassMocker();
     //$this->classMocker->setGenerationDir('./var/generation');
     $this->classMocker->mock('Foobar\\*');
     $this->classMocker->registerTrait(TraitA::class);
     $this->classMocker->registerTrait(TraitB::class);
     $this->classMocker->registerTrait(TraitC::class);
     $this->classMocker->registerTrait(DummyTrait::class, 'Foobar\\*', 1000);
     // test footprints
     $footprintA = new ClassFootprint();
     $footprintA->addInterface(Readable::class);
     $footprintA->addInterface(Talkable::class);
     $footprintB = new ClassFootprint();
     $footprintB->setParent('Foobar\\BaseClass');
     $this->classMocker->registerFootprint('Foobar\\BaseClass', $footprintA);
     $this->classMocker->registerFootprint('Foobar\\TestClass', $footprintB);
     $this->classMocker->enable();
 }
Beispiel #2
0
<?php

/**
 * Optional add magento lib classes
 * @var \Composer\Autoload\ClassLoader $loader
 */
$loader = (require '../../vendor/autoload.php');
$loader->add('', '../../vendor/firegento/magento/lib');
use JSiefer\ClassMocker\ClassMocker;
use JSiefer\MageMock\Mage\MageFacade;
use JSiefer\MageMock\MagentoMock;
$magentoFramework = new MagentoMock();
$classMocker = new ClassMocker();
$classMocker->setGenerationDir('./var/generation');
$classMocker->mockFramework($magentoFramework);
$classMocker->enable();
$nameResolver = new \JSiefer\MageMock\ClassNameResolver();
$nameResolver->registerNamespace('sample', 'Magemock_Sample');
MageFacade::setNameResolver($nameResolver);
 /**
  * Test footprints imported from json test file
  *
  * @return void
  * @test
  */
 public function testFootprintJsonImport()
 {
     $fwMocker = new ClassMocker();
     $fwMocker->importFootprints(__DIR__ . '/_data/test.ref.json');
     $fwMocker->mock('JSiefer\\ClassMocker\\TestFramework\\*');
     $fwMocker->enable();
     $test = new ObjectB();
     $this->assertEquals('foobar', ObjectA::EVENT, 'Constant was not loaded correctly from test.ref.json');
     $this->assertEquals(100, ObjectA::SORT, 'Constant was not loaded correctly from test.ref.json');
     $this->assertInstanceOf(ObjectA::class, $test);
     $this->assertInstanceOf(ObjectB::class, $test);
     $this->assertInstanceOf(InterfaceB::class, $test);
     $this->assertInstanceOf(BaseMock::class, $test);
 }