woocommerce/packages/js/e2e-utils/CHANGELOG.md

139 lines
7.3 KiB
Markdown

# Unreleased
## Fixed
- Added the `root: true` flag to `e2e-utils` ESLint config file so that ESLint ignores other ancestor config files when checking that package. This solves a version conflict when running ESLint.
## Added
- `createSimpleDownloadableProduct` component which creates a simple downloadable product, containing four parameters for title, price, download name and download limit.
- `orderPageSaveChanges()` to save changes in the order page.
- `getSelectorAttribute( selector, attribute )` to retrieve the desired HTML attribute from an element.
- `verifyValueOfElementAttribute( selector, attribute, expectedValue )` to check that a specific HTML attribute from an element matches the expected value.
- `withRestApi.deleteProduct()` that deletes a single product.
- `withRestApi.deleteOrder()` that deletes a single order.
- `merchant.addDownloadableProductPermission()` to add a downloadable product permission to an order.
- `merchant.updateDownloadableProductPermission()` to update the attributes of an existing downloadable product permission.
- `merchant.revokeDownloadableProductPermission()` to remove the existing downloadable product permission from an order.
- `merchant.verifyDownloadableProductPermission()` to check that the attributes of an existing downloadable product permission are correct.
- `merchant.openDownloadLink()` to open the url of a download in a new tab.
- `merchant.verifyCannotDownloadFromBecause()` to check that a download cannot happen for a specific reason.
## Changed
- Removed `faker` dependency
# 0.1.7
## Fixed
- Identified the default product category using `slug == 'uncategorized'` in `deleteAllProductCategories`
## Added
- `utils.waitForTimeout( delay )` pause processing for `delay` milliseconds
- `AdminEdit` class with utility functions for the respective edit screens
- Update `shopper.addToCartFromShopPage()` and `.removeFromCart()` to accept product Id or Title
- Added `deleteAllProductAttributes()`, `deleteAllProductCategories()`, and `deleteAllProductTags()` to clean up meta data added when products are imported
- Added `withRestApi.createProductCategory()` that creates a product category and returns the ID
- `withRestApi.deleteCoupon()` that deletes a single coupon
- `withRestApi.addTaxClasses()` that adds an array of tax classes if they do not exist
- `withRestApi.addTaxRates()` that adds an array of tax rates if they do not exist
- `clickAndWaitForSelector( buttonSelector, resultSelector, timeout )` to click a button and wait for response
- Optional parameter `testResponse` to `withRestApi` functions that contain an `expect()`
- `shopper.logout()` to log out the shopper account
- `merchant.dismissOnboardingWizard()` to dismiss the onboarding wizard
- `merchant.collapseAdminMenu()` to expand or collapse the WP admin menu
# 0.1.6
## Added
- Factories for variable product, variation, and grouped product
- New function to create orders by batch using the orders API
- Added new constant for WordPress update page `WP_ADMIN_WP_UPDATES`
- Added new merchant flow for `openWordPressUpdatesPage()`
- Added new merchant flows:
- `openWordPressUpdatesPage()`
- `installAllUpdates()`
- Added `getSlug()` helper to return the slug string for a provided string
- Added `describeIf()` to conditionally run a test suite
- Added `itIf()` to conditionally run a test case.
- Added merchant workflows around plugins: `uploadAndActivatePlugin()`, `activatePlugin()`, `deactivatePlugin()`, `deletePlugin()`
- Added merchant workflows checking for a database update and performing the update if needed: `runDatabaseUpdate()`
- Added `deleteAllOrders()` that goes through and deletes all orders
- Added `deleteAllShippingClasses()` which permanently deletes all shipping classes using the API
- Added `statuses` optional parameter to `deleteAllRepositoryObjects()` to delete on specific statuses
- Added `createOrder()` component util that creates an order using the API with the passed in details
- Updated `addShippingZoneAndMethod()` to use the API instead of UI to create shipping zones
- Added `updateSettingOption()` to use the API to update a setting option
- Added `updatePaymentGateway()` to use the API to update a payment gateway
- Added `getSystemEnvironment()` that gets the current environment from the WooCommerce API.
# 0.1.5
## Added
- `emptyCart()` Shopper flow helper that empties the cart
- `deleteAllShippingZones()` Delete all the existing shipping zones
- constants
- `WP_ADMIN_POST_TYPE`
- `WP_ADMIN_NEW_POST_TYPE`
- `WP_ADMIN_ALL_COUPONS_VIEW`
- `WP_ADMIN_WC_HOME`
- `IS_RETEST_MODE`
- `withRestApi` flow containing utility functions that manage data with the rest api
- `waitForSelectorWithoutThrow` - conditionally wait for a selector without throwing an error
# 0.1.4
## Fixed
- build issue with faker import
# 0.1.3
## Added
- `selectOptionInSelect2( selector, value )` util helper method that search and select in any select2 type field
- `searchForOrder( value, orderId, customerName )` util helper method that search order with different terms
- `addShippingZoneAndMethod( zoneName, zoneLocation, zipCode, zoneMethod )` util helper method for adding shipping zones with shipping methods
- `createSimpleProductWithCategory` component which creates a simple product with categories, containing three parameters for title, price and category name.
- `applyCoupon( couponName )` util helper method which applies previously created coupon to cart or checkout
- `removeCoupon()` util helper method that removes a single coupon within cart or checkout
- `selectOrderAction( action )` util helper method to select and initiate an order action in the Order Action postbox
- `merchant.openEmailLog()` go to the WP Mail Log page
- `deleteAllEmailLogs` delete all email logs in the WP Mail Log plugin
- `clickUpdateOrder( noticeText, waitForSave )` util helper that clicks the `Update` button on an order
## Changed
- Added coupon type parameter to `createCoupon( couponAmount, couponType )`. Default coupon type is fixed cart.
# 0.1.2
## Fixed
- Missing `config` package dependency
- Added `page.removeAllListeners('dialog')` to `createVariableProduct()` to fix dialog already handled errors
## Added
- `shopper.gotoMyAccount()` go to the /my-account/ page
- `clickFilter()` util helper method that clicks on a list page filter
- `moveAllItemsToTrash()` util helper method that checks every item in a list page and moves them to the trash
- `createSimpleOrder( status )` component which accepts an order status string and creates a basic order with that status
- `addProductToOrder( orderId, productName )` component which adds the provided productName to the passed in orderId
- `createCoupon( couponAmount )` component which accepts a coupon amount string (it defaults to 5) and creates a basic coupon. Returns the generated coupon code.
- `evalAndClick( selector )` use Puppeteer page.$eval to select and click and element.
## Changes
- Deprecated `StoreOwnerFlow`, `CustomerFlow` in favour of `merchant`,`shopper`
- `createSimpleOrder( status )` returns the ID of the order that was created
- Updated `createCoupon( couponAmount )` component by adding a new parameter `discountType` which allows you to use any coupon discount type in tests
- Updated `verifyAndPublish( noticeText )` component by add a new parameter, `noticeText`, that allows passing in the accepted update notice text. For example, with variations on creation or update.
# 0.1.1
- Initial/beta release