/**
  * @param array $data
  * @param array $expected
  * @dataProvider getConfigDataDataProvider
  */
 public function testGetConfigData(array $data, array $expected)
 {
     $userConfigurationDataMapper = new StoreConfigurationDataMapper();
     $this->assertEquals($expected, $userConfigurationDataMapper->getConfigData($data));
 }
    /**
     * Installs user configuration
     *
     * @param \ArrayObject|array $data
     * @return void
     */
    public function installUserConfig($data)
    {
        $userConfig = new StoreConfigurationDataMapper();
        /** @var \Magento\Framework\App\State $appState */
        $appState = $this->objectManagerProvider->get()->get('Magento\Framework\App\State');
        $appState->setAreaCode('setup');
        $configData = $userConfig->getConfigData($data);
        if (count($configData) === 0) {
            return;
        }

        /** @var \Magento\Config\Model\Config\Factory $configFactory */
        $configFactory = $this->objectManagerProvider->get()->create('Magento\Config\Model\Config\Factory');
        foreach ($configData as $key => $val) {
            $configModel = $configFactory->create();
            $configModel->setDataByPath($key, $val);
            $configModel->save();
        }
    }