|
139 | 139 | <assertNotEquals expected="{$getBeforeOption}" expectedType="string" actual="{$getCurrentOption}" actualType="string" stepKey="assertNotEquals"/>
|
140 | 140 |
|
141 | 141 | </test>
|
| 142 | + |
| 143 | + <test name="AdminConfigurableProductUpdateChildAttributeTest"> |
| 144 | + <annotations> |
| 145 | + <features value="ConfigurableProduct"/> |
| 146 | + <stories value="Edit a configurable product in admin"/> |
| 147 | + <title value="Admin should be able to update existing attributes of child products of a configurable product"/> |
| 148 | + <description value="Admin should be able to update existing attributes of child products of a configurable product"/> |
| 149 | + <severity value="AVERAGE"/> |
| 150 | + <testCaseId value="MC-288"/> |
| 151 | + <group value="ConfigurableProduct"/> |
| 152 | + </annotations> |
| 153 | + |
| 154 | + <before> |
| 155 | + |
| 156 | + <!-- TODO: This should be converted to an actionGroup once MQE-993 is fixed. --> |
| 157 | + <!-- Create the category the product will be a part of --> |
| 158 | + <createData entity="ApiCategory" stepKey="createCategory"/> |
| 159 | + <createData entity="ApiConfigurableProduct" stepKey="createConfigProduct"> |
| 160 | + <requiredEntity createDataKey="createCategory"/> |
| 161 | + </createData> |
| 162 | + <createData entity="productAttributeWithTwoOptions" stepKey="createConfigProductAttribute"/> |
| 163 | + |
| 164 | + <!-- Create the two attributes the product will have --> |
| 165 | + <createData entity="productAttributeOption1" stepKey="createConfigProductAttributeOption1"> |
| 166 | + <requiredEntity createDataKey="createConfigProductAttribute"/> |
| 167 | + </createData> |
| 168 | + <createData entity="productAttributeOption2" stepKey="createConfigProductAttributeOption2"> |
| 169 | + <requiredEntity createDataKey="createConfigProductAttribute"/> |
| 170 | + </createData> |
| 171 | + |
| 172 | + <!-- Add the product to the default set --> |
| 173 | + <createData entity="AddToDefaultSet" stepKey="createConfigAddToAttributeSet"> |
| 174 | + <requiredEntity createDataKey="createConfigProductAttribute"/> |
| 175 | + </createData> |
| 176 | + |
| 177 | + <!-- Get the two attributes --> |
| 178 | + <getData entity="ProductAttributeOptionGetter" index="1" stepKey="getConfigAttributeOption1"> |
| 179 | + <requiredEntity createDataKey="createConfigProductAttribute"/> |
| 180 | + </getData> |
| 181 | + <getData entity="ProductAttributeOptionGetter" index="2" stepKey="getConfigAttributeOption2"> |
| 182 | + <requiredEntity createDataKey="createConfigProductAttribute"/> |
| 183 | + </getData> |
| 184 | + |
| 185 | + <!-- Create the two children product --> |
| 186 | + <createData entity="ApiSimpleOne" stepKey="createConfigChildProduct1"> |
| 187 | + <requiredEntity createDataKey="createConfigProductAttribute"/> |
| 188 | + <requiredEntity createDataKey="getConfigAttributeOption1"/> |
| 189 | + </createData> |
| 190 | + <createData entity="ApiSimpleTwo" stepKey="createConfigChildProduct2"> |
| 191 | + <requiredEntity createDataKey="createConfigProductAttribute"/> |
| 192 | + <requiredEntity createDataKey="getConfigAttributeOption2"/> |
| 193 | + </createData> |
| 194 | + |
| 195 | + <!-- Create the two configurable product with both children --> |
| 196 | + <createData entity="ConfigurableProductTwoOptions" stepKey="createConfigProductOption"> |
| 197 | + <requiredEntity createDataKey="createConfigProduct"/> |
| 198 | + <requiredEntity createDataKey="createConfigProductAttribute"/> |
| 199 | + <requiredEntity createDataKey="getConfigAttributeOption1"/> |
| 200 | + <requiredEntity createDataKey="getConfigAttributeOption2"/> |
| 201 | + </createData> |
| 202 | + <createData entity="ConfigurableProductAddChild" stepKey="createConfigProductAddChild1"> |
| 203 | + <requiredEntity createDataKey="createConfigProduct"/> |
| 204 | + <requiredEntity createDataKey="createConfigChildProduct1"/> |
| 205 | + </createData> |
| 206 | + <createData entity="ConfigurableProductAddChild" stepKey="createConfigProductAddChild2"> |
| 207 | + <requiredEntity createDataKey="createConfigProduct"/> |
| 208 | + <requiredEntity createDataKey="createConfigChildProduct2"/> |
| 209 | + </createData> |
| 210 | + |
| 211 | + <!-- login --> |
| 212 | + <actionGroup ref="LoginAsAdmin" stepKey="login"/> |
| 213 | + </before> |
| 214 | + |
| 215 | + <after> |
| 216 | + <amOnPage url="admin/admin/auth/logout/" stepKey="logout"/> |
| 217 | + |
| 218 | + <!-- Delete everything that was created in the before block --> |
| 219 | + <deleteData createDataKey="createCategory" stepKey="deleteCatagory" /> |
| 220 | + <deleteData createDataKey="createConfigProduct" stepKey="deleteConfigProduct"/> |
| 221 | + <deleteData createDataKey="createConfigChildProduct1" stepKey="deleteConfigChildProduct1"/> |
| 222 | + <deleteData createDataKey="createConfigChildProduct2" stepKey="deleteConfigChildProduct2"/> |
| 223 | + <deleteData createDataKey="createConfigProductAttribute" stepKey="deleteConfigProductAttribute"/> |
| 224 | + </after> |
| 225 | + |
| 226 | + <!-- Find the product that we just created using the product grid --> |
| 227 | + <amOnPage url="{{AdminProductIndexPage.url}}" stepKey="visitAdminProductPage"/> |
| 228 | + <waitForPageLoad stepKey="waitForAdminProductPageLoad"/> |
| 229 | + <conditionalClick selector="{{AdminProductGridFilterSection.clearFilters}}" dependentSelector="{{AdminProductGridFilterSection.clearFilters}}" visible="true" stepKey="clickClearFiltersInitial"/> |
| 230 | + <actionGroup ref="filterProductGridBySku" stepKey="findCreatedProduct"> |
| 231 | + <argument name="product" value="ApiConfigurableProduct"/> |
| 232 | + </actionGroup> |
| 233 | + <waitForPageLoad stepKey="waitForProductFilterLoad"/> |
| 234 | + |
| 235 | + <click selector="{{AdminProductGridSection.firstRow}}" stepKey="clickOnProductPage"/> |
| 236 | + <waitForPageLoad stepKey="waitForProductPageLoad"/> |
| 237 | + |
| 238 | + <!-- Open the wizard for editing configurations and fill out a new attribute --> |
| 239 | + <click stepKey="clickEditConfig" selector="{{AdminProductFormConfigurationsSection.createConfigurations}}"/> |
| 240 | + <waitForPageLoad stepKey="waitForEditConfig"/> |
| 241 | + <click stepKey="clickNextWizard" selector="{{AdminCreateProductConfigurationsPanel.next}}"/> |
| 242 | + <click stepKey="createNewValue" selector="{{AdminCreateProductConfigurationsPanel.createNewValue}}"/> |
| 243 | + <fillField stepKey="fillNewAttribute" selector="{{AdminCreateProductConfigurationsPanel.attributeName}}" userInput="simple"/> |
| 244 | + <click stepKey="confirmNewAttribute" selector="{{AdminCreateProductConfigurationsPanel.saveAttribute}}"/> |
| 245 | + <click stepKey="clickNextWizard2" selector="{{AdminCreateProductConfigurationsPanel.next}}"/> |
| 246 | + |
| 247 | + <!-- Give the product a price and quantity --> |
| 248 | + <click stepKey="click" selector="{{AdminCreateProductConfigurationsPanel.applySingleQuantityToEachSkus}}"/> |
| 249 | + <fillField stepKey="fillProductQuantity" selector="{{AdminCreateProductConfigurationsPanel.quantity}}" userInput="{{_defaultProduct.quantity}}"/> |
| 250 | + <click stepKey="clickNextWizard3" selector="{{AdminCreateProductConfigurationsPanel.next}}"/> |
| 251 | + <click stepKey="clickGenerateProducts" selector="{{AdminCreateProductConfigurationsPanel.next}}"/> |
| 252 | + |
| 253 | + <!-- Save the product --> |
| 254 | + <waitForPageLoad stepKey="waitForGeneration"/> |
| 255 | + <click stepKey="saveProductAttribute" selector="{{AdminProductFormActionSection.saveButton}}"/> |
| 256 | + <see stepKey="assertSuccess" selector="{{AdminProductMessagesSection.successMessage}}" userInput="You saved the product."/> |
| 257 | + |
| 258 | + <!-- Check to make sure the created product has appeared on the configurable product storefront --> |
| 259 | + <amOnPage url="/{{ApiConfigurableProduct.urlKey}}2.html" stepKey="goToConfigProductPage"/> |
| 260 | + <waitForPageLoad stepKey="waitForStorefront"/> |
| 261 | + <selectOption stepKey="clickFirstAttribute" selector="{{ModifyAttributes.nthExistingAttribute($$createConfigProductAttribute.default_frontend_label$$)}}" userInput="simple"/> |
| 262 | + <waitForPageLoad stepKey="waitForPageExecution"/> |
| 263 | + <see stepKey="checkPrice" selector="{{StorefrontProductInfoMainSection.productPrice}}" userInput="0.00"/> |
| 264 | + <waitForPageLoad stepKey="waitForStoreFrontProductPageLoad"/> |
| 265 | + |
| 266 | + <!-- Find the simple product that we just created using the product grid and delete it --> |
| 267 | + <actionGroup ref="deleteProductBySku" stepKey="findCreatedProduct2"> |
| 268 | + <argument name="sku" value="{{ApiConfigurableProduct.sku}}2-simple"/> |
| 269 | + </actionGroup> |
| 270 | + </test> |
142 | 271 | </tests>
|
0 commit comments