Is it worth covering Magento 2 code by automated tests?

Automated tests implementation has always been an interesting topic for many store owners and managers. We receive many questions every day like: should we invest money for tests in addition to development? How will it help an online business? Which tests are better and why? Therefore, we want to shed some light on which types of tests are the most popular and useful and highlight key reasons of test importance.

Magento 2 Event Framework - Diagrams

Magento events and observers are a good old way of extending Magento. They came from Magento 1, but an approach is well-known beyond the Magento community and platform. It follows an observer design pattern and has different implementation and variations in different frameworks. This article covers how Event Framework was implemented in Magento and how it’s suggested to be using by Magento Development Team.

Alternatives for deprecated Registry class - Magento 2.3

Starting from Magento 2.3 the Registry class that is (or was) used by a lot of developers and extension vendors is declared to be deprecated. In class comments it’s told to use service classes or data providers, but no examples provided. This article aims to show how you can get needed data using best practices and service classes.

Multi-Source Inventory in Magento 2.3

Magento 2.3 GA release has finally landed. It is one of the most awaited releases that Magento ever had, and it is a thrilling moment for us at Atwix. Not only our clients can now benefit from all the new features that are available in 2.3, but also we can now see live features that our team developed working closely with other community contributors as well as Magento Community Engineering team.

How to add custom layout handle to category in Magento 2

In order to add a custom layout handle to category page, a (basic) Magento 2 module with these additional files and their content is needed:

1. The events.xml file to “subscribe” to the event and say which observer should be fired
2. An observer that adds a new layout handle to the page
3. A layout file that adds needed changes to the page

JavaScript bundling is an optimization technique you can use to reduce the number of server requests for JavaScript files. It is achieved by merging multiple JavaScript files together into one file to reduce the number of page requests. By default, Magento 2 allows excluding the particular JavaScript files from bundling by specifying the corresponding file in exclude node of the etc/view.xml file for a theme. However, sometimes it’s not enough.

Create Cart Price Rule and generate Coupon Codes programmatically

Magento provides the Cart Price Rules marketing feature, which allows applying discounts to items in the shopping cart, based on a set of conditions. The discount can be applied automatically as soon as the conditions are met, or when the customer enters a valid coupon code. The coupon codes can be generated per cart price rule via admin panel in Marketing -> Cart Price Rulessection. However, sometimes we need to automate this process. Let’s find out how to create a cart price rule and generate coupon codes programmatically in Magento 2.