What are the Slack Archives?

It’s a history of our time together in the Slack Community! There’s a ton of knowledge in here, so feel free to search through the archives for a possible answer to your question.

Because this space is not active, you won’t be able to create a new post or comment here. If you have a question or want to start a discussion about something, head over to our categories and pick one to post in! You can always refer back to a post from Slack Archives if needed; just copy the link to use it as a reference..

I'm having a business test using several facades to place an order. In the business tester, I'm crea

U01LKKBK97T
U01LKKBK97T Posts: 287 🧑🏻‍🚀 - Cadet

I'm having a business test using several facades to place an order. In the business tester, I'm creating these facades like this:

    /**
     * @return CalculationFacadeInterface
     */
    protected function createCalculationFacade(): CalculationFacadeInterface
    {
        /** @var CalculationFacade $calculationFacade */
        $calculationFacade = $this->getLocator()->calculation()->facade();

        $calculationDependencyProvider = new CalculationDependencyProvider();
        $container = new Container();
        $container = $calculationDependencyProvider->provideBusinessLayerDependencies($container);

        $calculationBusinessFactory = new CalculationBusinessFactory();
        $calculationBusinessFactory->setContainer($container);

        $calculationFacade->setFactory($calculationBusinessFactory);

        return $calculationFacade;
    }

The actual test using these facades is working fine, but some tests (as is from the b2b demoshop) which are running after this are failing now. Has anybody seen a behavior like this before? Will I need to reset facade states or something like that?

Comments

  • Serhii Chepela
    Serhii Chepela Sprykee Posts: 49 🧑🏻‍🚀 - Cadet

    It’s hard to tell without errors, but possible issue might be missing DependencyHelper that clears container from the factory after tests

  • U01LKKBK97T
    U01LKKBK97T Posts: 287 🧑🏻‍🚀 - Cadet

    I'll give it a try, thanks.

  • U01LKKBK97T
    U01LKKBK97T Posts: 287 🧑🏻‍🚀 - Cadet
    edited February 2021

    Didn't help. These are the failing test being executed after mine.

    1) ProductAbstractManagerTest: Get product abstract by id should return fully loaded transfer object
     Test  ../Product/Business/ProductAbstractManagerTest.php:testGetProductAbstractByIdShouldReturnFullyLoadedTransferObject
    Failed asserting that an array is not empty.
    #1  /data/tests/PyzTest/Zed/Product/Business/ProductAbstractManagerTest.php:146
    #2  /data/tests/PyzTest/Zed/Product/Business/ProductAbstractManagerTest.php:120
    #3  /data/tests/PyzTest/Zed/Product/Business/ProductAbstractManagerTest.php:70
    2) ProductConcreteManagerTest: Get concrete products by abstract product id should return fully loaded transfer object
     Test  ../Product/Business/ProductConcreteManagerTest.php:testGetConcreteProductsByAbstractProductIdShouldReturnFullyLoadedTransferObject
    Failed asserting that an array is not empty.
    #1  /data/tests/PyzTest/Zed/Product/Business/ProductConcreteManagerTest.php:179
    #2  /data/tests/PyzTest/Zed/Product/Business/ProductConcreteManagerTest.php:139
    #3  /data/tests/PyzTest/Zed/Product/Business/ProductConcreteManagerTest.php:81
    

    Still hard to tell what's up here.