create(\Magento\Framework\Translate\Inline::class); $this->_inlineParser = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create( \Magento\Translation\Model\Inline\Parser::class, ['translateInline' => $inline] ); /* Called getConfig as workaround for setConfig bug */ \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get( \Magento\Store\Model\StoreManagerInterface::class )->getStore( $this->_storeId )->getConfig( 'dev/translate_inline/active' ); \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get( \Magento\Framework\App\Config\MutableScopeConfigInterface::class )->setValue( 'dev/translate_inline/active', true, \Magento\Store\Model\ScopeInterface::SCOPE_STORE, $this->_storeId ); } /** * @dataProvider processAjaxPostDataProvider */ public function testProcessAjaxPost($originalText, $translatedText, $isPerStore = null) { $inputArray = [['original' => $originalText, 'custom' => $translatedText]]; if ($isPerStore !== null) { $inputArray[0]['perstore'] = $isPerStore; } $this->_inlineParser->processAjaxPost($inputArray); $model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create( \Magento\Translation\Model\StringUtils::class ); $model->load($originalText); try { $this->assertEquals($translatedText, $model->getTranslate()); $model->delete(); } catch (\Exception $e) { $model->delete(); \Magento\TestFramework\Helper\Bootstrap::getObjectManager() ->get(\Psr\Log\LoggerInterface::class) ->critical($e); } } /** * @return array */ public function processAjaxPostDataProvider() { return [ ['original text 1', 'translated text 1'], ['original text 2', 'translated text 2', true] ]; } public function testSetGetIsJson() { $isJsonProperty = new \ReflectionProperty(get_class($this->_inlineParser), '_isJson'); $isJsonProperty->setAccessible(true); $this->assertFalse($isJsonProperty->getValue($this->_inlineParser)); $setIsJsonMethod = new \ReflectionMethod($this->_inlineParser, 'setIsJson'); $setIsJsonMethod->setAccessible(true); $setIsJsonMethod->invoke($this->_inlineParser, true); $this->assertTrue($isJsonProperty->getValue($this->_inlineParser)); } }