Deal of The Day! Hurry Up, Grab the Special Discount - Save 25% - Ends In 00:00:00 Coupon code: SAVE25
Welcome to Pass4Success

- Free Preparation Discussions

Adobe Exam AD0-E722 Topic 4 Question 29 Discussion

Actual exam question for Adobe's AD0-E722 exam
Question #: 29
Topic #: 4
[All AD0-E722 Questions]

An Adobe Commerce Architect is planning to create a new action that will add gift registry items to the customer's quote. What should the Architect do to guarantee that private content blocks are updated?

Show Suggested Answer Hide Answer
Suggested Answer: C

To create an integration test that executes different logic in different store views, the Architect needs to do the following steps:

Create one test class that extends MagentoTestFrameworkTestCaseAbstractController or MagentoTestFrameworkTestCaseAbstractBackendController, depending on the type of controller being tested1.

Create one test method that uses the @magentoDataFixture annotation to specify the data fixture file that creates the product2.

Use the MagentoTestFrameworkStoreExecuteInStoreContext class to execute the fixture and the tested logic in different store views. This class has a method called executeInStoreContext, which takes two parameters: the store ID and a callable function.The callable function will be executed in the context of the given store ID, and then the original store ID will be restored3. For example:

PHPAI-generated code. Review and use carefully.More info on FAQ.

public function testSomeLogic()

{

// Get the product from the fixture

$product = $this->getProduct();

// Get the ExecuteInStoreContext instance from the object manager

$executeInStoreContext = $this->_objectManager->get(MagentoTestFrameworkStoreExecuteInStoreContext::class);

// Execute the fixture in store view 3

$executeInStoreContext->executeInStoreContext(3, function () use ($product) {

// Do some operations on the product in store view 3

});

// Execute the tested logic in store view 4

$result = $executeInStoreContext->executeInStoreContext(4, function () use ($product) {

// Call the tested logic on the product in store view 4

return $this->someLogic->execute($product);

});

// Assert that the result is true

$this->assertTrue($result);

}


Integration tests | Magento 2 Developer Documentation

Data fixtures | Magento 2 Developer Documentation

MagentoTestFrameworkStoreExecuteInStoreContext | Magento 2 Developer Documentation

Contribute your Thoughts:

Marta
4 days ago
A is not the answer, setting no-cache headers won't update the private content blocks. Gotta go with C on this one.
upvoted 0 times
...
Terrilyn
12 days ago
B is tempting, but I don't think invalidating the status of gift registry indexers is the right approach here. I'm leaning towards C.
upvoted 0 times
...
Xuan
15 days ago
Hmm, I guess the answer would be C. Specifying a new action in a sections.xml configuration file sounds like the way to guarantee the private content blocks are updated.
upvoted 0 times
...
Genevive
16 days ago
I'm not sure, but maybe invalidating the status of gift registry indexers could also help in updating the content blocks.
upvoted 0 times
...
Franklyn
17 days ago
I agree with Eileen, that sounds like the right approach to update private content blocks.
upvoted 0 times
...
Eileen
20 days ago
I think the Architect should specify a new action in a sections.xml configuration file.
upvoted 0 times
...
Martha
21 days ago
I'm not sure, but maybe invalidating the status of gift registry indexers could also help in updating the content.
upvoted 0 times
...
Alaine
25 days ago
I agree with William, that sounds like the right approach to update private content blocks.
upvoted 0 times
...
William
27 days ago
I think the Architect should specify a new action in a sections.xml configuration file.
upvoted 0 times
...

Save Cancel
az-700  pass4success  az-104  200-301  200-201  cissp  350-401  350-201  350-501  350-601  350-801  350-901  az-720  az-305  pl-300  

Warning: Cannot modify header information - headers already sent by (output started at /pass.php:70) in /pass.php on line 77