0

I have an existing store with a collection of existing plugins. I'm trying to setup an integration test to test some new features, but the test doesn't get past the installation:

Module 'Manadev_SpecialCategories': Installing schema... In EavSetup.php line 296: [Magento\Framework\Exception\LocalizedException] The entity ID is incorrect. Verify the ID and try again. 

I checked the code in the stack trace and I see that this plugin in it's setup script tries to select the id from eavy_entity_type where entity_type_code is catalog_category

But, in the testing database this table is completely empty, so the setup script fails. Is there a way to bypass this, or trigger the magento seeders to get integration tests running smoothly?

1 Answer 1

0

I fixed this for now by modifying

dev/tests/integration/framework/Magento/TestFramework/Application.php by removing the local from the target filename where the global-config.php is copied.

/** * Copies global configuration file from the tests folder (see TESTS_GLOBAL_CONFIG_FILE) * * @return void */ private function copyGlobalConfigFile() { $targetFile = $this->_configDir . '/config.php'; copy($this->globalConfigFile, $targetFile); } 

This way Magento sees which modules I wish to disable and merges my settings into the generated config that is generated by the setup:install call.

Somehow Magento ignores the config.local modules settings that get ignored.

By copying it this way, the modules I set up to be ignored in config-global.php get actually ignored during the setup:install process, allowing me a mean and lean testing environment for my module.

I am open for better ways to resolve this so I can disable modules I don't need in configuration.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.