/** * Constructor * * @param SaveHandlerFactory $saveHandlerFactory * @param string $saveMethod * @param string $default */ public function __construct(SaveHandlerFactory $saveHandlerFactory, $saveMethod, $default = self::DEFAULT_HANDLER) { try { $adapter = $saveHandlerFactory->create($saveMethod); } catch (SaveHandlerException $e) { $adapter = $saveHandlerFactory->create($default); } $this->saveHandlerAdapter = $adapter; }
/** * @dataProvider createDataProvider */ public function testCreate($handlers, $saveClass, $saveMethod) { $saveHandler = $this->getMock($saveClass); $objectManager = $this->getMock('\\Magento\\Framework\\ObjectManager\\ObjectManager', ['create'], [], '', false); $objectManager->expects($this->once())->method('create')->with($this->equalTo($saveClass), $this->equalTo([]))->will($this->returnValue($saveHandler)); $model = new SaveHandlerFactory($objectManager, $handlers); $result = $model->create($saveMethod); $this->assertInstanceOf($saveClass, $result); $this->assertInstanceOf('\\Magento\\Framework\\Session\\SaveHandler\\Native', $result); $this->assertInstanceOf('\\SessionHandler', $result); }