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..
Hi all. Can someone please clarify how database access works within testing? The data does not reall
Hi all.
Can someone please clarify how database access works within testing? The data does not really get persisted to the database, at least not in my setup.
For example the Discount tests like vendor/spryker/discount/tests/SprykerTest/Zed/Discount/Business/DiscountFacadeCalculateTest.php
.
I am asking this, because I try to persist discounts to the database like that, but actually test the CalculationFacade
. There is a point where the Discount Model vendor/spryker/discount/src/Spryker/Zed/Discount/Business/Calculator/Discount.php
reads active discounts from the database, but the previously inserted discounts can not be found. Also I can not find the previously inserted discounts in the database, I must be looking at the wrong place. What am I missing?
Comments
-
Actually the
vendor/spryker/discount/tests/SprykerTest/Zed/Discount/Business/DiscountFacadeCalculateTest.php
seems to do exactly what I intend, but it does not work?0 -
Nevermid, it IS working if you do it right 😉
I used a random discount-store relation with$storeTransfer = $this->tester->haveStore();
Use it with the proper storename will make it findable by the Discount Model:
$storeTransfer = $this->tester->haveStore([ StoreTransfer::NAME => APPLICATION_STORE, ]);
0 -
And just to mention the TransactionHelper, it is kindly generating a transaction for every test method and rolls it back afterwards. The data will never get persisted, so you have to debug it from within the transaction. No issues with caching or whatever, just use it with your regular database in your modules
codeception.yml
(not the PyzTest Environment):modules: enabled: - \SprykerTest\Shared\Propel\Helper\TransactionHelper
0
Categories
- All Categories
- 42 Getting Started & Guidelines
- 7 Getting Started in the Community
- 8 Additional Resources
- 7 Community Ideas and Feedback
- 75 Spryker News
- 919 Developer Corner
- 779 Spryker Development
- 89 Spryker Dev Environment
- 362 Spryker Releases
- 3 Oryx frontend framework
- 34 Propel ORM
- 68 Community Projects
- 3 Community Ideation Board
- 30 Hackathon
- 3 PHP Bridge
- 6 Gacela Project
- 25 Job Opportunities
- 3.2K 📜 Slack Archives
- 116 Academy
- 5 Business Users
- 370 Docker
- 551 Slack General
- 2K Help
- 75 Knowledge Sharing
- 6 Random Stuff
- 4 Code Testing
- 32 Product & Business Questions
- 69 Spryker Safari Questions
- 50 Random