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

7.7 KiB

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.
  • productPageSaveChanges() to save changes in the product 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.
  • click( selector ) to click an element asserting previously that the element is enabled and can be clicked.
  • 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.
  • merchant.updateVariationDetails( variationDetails ) to update the variation details of a product.
  • merchant.verifyVariationDetails( expectedVariationDetails ) to check that the variation details of a product were updated successfully.

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