Some observations (mostly nitpiks):
-
+++ b/modules/dc_ajax_add_cart_popup/README.md @@ -0,0 +1,10 @@ +- Go to `admin/commerce/config/product-variation-types/default/edit/display`, check + **Ajax add to cart popup** under `Custom Display Settings`, and click `Save`.Could you please add this instructions in the parent module's README. This should be added under Installation and usage of the parent README.
-
+++ b/modules/dc_ajax_add_cart_popup/dc_ajax_add_cart_popup.info.yml @@ -0,0 +1,7 @@ + - dc_ajax_add_carts/dc_ajax_add_cart/drupal:dc_ajax_add_cart. Sometimes coder throws error if not done like that. -
+++ b/modules/dc_ajax_add_cart_popup/dc_ajax_add_cart_popup.module @@ -0,0 +1,34 @@ + 'product_variation_label' => NULL,Not required. We are passing the whole entity.
-
+++ b/modules/dc_ajax_add_cart_popup/dc_ajax_add_cart_popup.module @@ -0,0 +1,34 @@ +function dc_ajax_add_cart_popup_form_alter(&$form, &$form_state, $form_id) {I have a feeling that we can replace
hook_form_alter()with a more specifichook_form_BASE_FORM_ID_alter (). And remove the innerifcondition. -
+++ b/modules/dc_ajax_add_cart_popup/src/EventSubscriber/AjaxAddToCartPopupSubscriber.php @@ -0,0 +1,82 @@ + $view_builder = \Drupal::entityManager()->getViewBuilder('commerce_product_variation');Use depedency injection instead.
-
+++ b/modules/dc_ajax_add_cart_popup/src/EventSubscriber/AjaxAddToCartPopupSubscriber.php @@ -0,0 +1,82 @@ + '#product_variation_label' => $this->purchasedEntity->label(),We don't need this. We are already passing the full entity.
-
+++ b/modules/dc_ajax_add_cart_popup/src/EventSubscriber/AjaxAddToCartPopupSubscriber.php @@ -0,0 +1,82 @@ + $title = '';Remove this. This is not used anywhere.
-
+++ b/modules/dc_ajax_add_cart_popup/src/EventSubscriber/AjaxAddToCartPopupSubscriber.php @@ -0,0 +1,82 @@ + $options = ['width' => '700'];Ideally this should be coming from an admin setting. But not to worry now. We can do that later, in a separate issue.
-
+++ b/modules/dc_ajax_add_cart_popup/tests/src/FunctionalJavascript/AjaxAddCartPopupTest.php @@ -0,0 +1,57 @@ + 'commerce_product', + 'commerce_cart', + 'dc_ajax_add_cart', + 'dc_ajax_add_cart_popup',Just do
dc_ajax_add_cart_popup. Others will be enabled as dependent modules. -
+++ b/modules/dc_ajax_add_cart_popup/tests/src/FunctionalJavascript/AjaxAddCartPopupTest.php @@ -0,0 +1,57 @@ + protected $profile = 'standard';Have you checked running this in the default
testingprofile. -
+++ b/modules/dc_ajax_add_cart_popup/tests/src/FunctionalJavascript/AjaxAddCartPopupTest.php @@ -0,0 +1,57 @@ + public function testPopup() {AWESOME!! AWESOME!! This is great. Thank you for adding the tests without being asked.
Sorry for my last comment. I just skimmed the patch last time, didn't checked it fully.
-
+++ b/modules/dc_ajax_add_cart_popup/tests/src/FunctionalJavascript/AjaxAddCartPopupTest.php @@ -0,0 +1,57 @@ + $this->waitForAjaxToFinish();I have also added negative tests. Add another test that would check whether the popup is indeed ajaxified. I check that by not calling
$this->waitForAjaxToFinish().
I would say that your work is almost perfect :) ? Thank you Brock.