All Releases
View all releases

March 21, 2024 release notes

Highlights

CMS

Import & export CMS widgets

Using the CMS, you can point-and-click manage many marketing and informational widgets throughout your dynamic commerce website. Kodaris commerce provides many default widgets out of the box but you can also customize these and add more widgets if you'd like.

All of these widgets can be easily managed from the customizer but you can also find the raw data for these widgets under Operations > CMS > Widgets. In this release, we've added the ability to import and export these widgets. This is handy if you want to export the widgets into a sheet for bulk editing in Google Sheets or Microsoft Excel, or simply migrate widgets between different systems.

Check out the video on how to import/export!

https://youtu.be/7SzmZLM796g?feature=shared

Commerce

Fedex Integration

On your Kodaris commerce website, you have many different options around shipping at checkout. You can maintain static shipping methods and rates, customize shipping methods/rates down to the customer level, product level, etc, prompt the user to fill in further details based on shipping method selection... however you'd like to manage shipping.

In this release, we've added a Fedex integration which you can use to display shipping methods and rates from Fedex at checkout. Watch the video below to see how to enable the Fedex integration and how it works on the checkout. Please note that the default Fedex integration does expect your product weights to be populated in order to fetch accurate shipping rates from Fedex. You can also customize how the Fedex shipping methods are displayed, which ones are displayed, adjust the rates in realtime, or whatever else you'd like to do before the rates are shown to the customer checking out. Reach out if you interested and more videos will be coming soon on how to customize the Fedex shipping methods to you and your customers.

https://youtu.be/-TEhJCEdq7U?feature=shared

Operations Portal

Import/Export URL Rewrites

If you are moving pages around on your website, or you remove a page and include the relevant content else where on your website, you may want to redirect users to the new location if they try to access the old url.

In your Kodaris system you can accomplish this by adding URL Rewrites. View the video below for a quick demonstration and also how to export and import rewrites which was added in this latest release! Import/export is often handy if you are migrating to Kodaris and have a list of urls from your old system that users commonly access. And you'd like to redirect them to the new urls on Kodaris.

https://youtu.be/cIa4-B8_tYU?feature=shared

Assign a company to a parent from the child companies tab

In your Kodaris system, you can link companies together in a hierarchical tree. Users set up on the parent company can view and manage all child companies. Users set up under a child company can only view and manage the child company. You can use this for your customers who have multiple ERP accounts and you need them to be able to access several ERP accounts with one login. This is at the Customer level and then you can also have unlimited shiptos on each Customer account as well.

Watch the first video below if you'd like an overview on how to setup hierarchical customer accounts! In the second video, we cover a new enhancment we just added where you can assign child customer accounts to a parent directly from the parent's Child Companies tab.

https://youtu.be/giXeAr0dJJs?feature=shared
https://youtu.be/KC4E0iwD9l4?feature=shared

PIM

Multisite - Separate product catalogs

Need more than one site using the same product data, content, search rules or more? Kodaris offers full multisite capabilities on the same Kodaris system, including different URLs, SSL Certs, Catalogs, and customer experiences. Multisite is designed to leverage your operations to serve multiple markets and brands.

In this release, we've added the ability to set up entirely separate product catalogs for your different websites from the operations portal. You can choose to set up a separate product catalog for one website, another product catalog for your other website, etc. All products are maintained in your one central Kodaris PIM and you can assign certain products to multiple website catalogs if you sell certain product lines on multiple websites in your multisite setup. Watch the video below on how to configure separate product catalogs!

https://youtu.be/FpJrJNED1l4?feature=shared

View products under a category

In this release, we've added the ability to view all the products assigned to a category directly from the category detail screen. This is a helpful addition to the Category Assignment screen where you can bulk maintain multiple category assignments across multiple products at once.

The first video below is a full overview on how you can manage and maintain category assignments in the Kodaris PIM, and the second video covers viewing products under a category which was just released!

https://youtu.be/iRmAcd00rVo?feature=shared
https://youtu.be/10o5BLnekXE?feature=shared

Translate filter categories point and click in the operations portal

In today's global world of commerce and regulated environments, it is important to serve customers in the language required. Kodaris not only offers multilingual commerce, but robust and easy to use visual translator tools. You can translate while looking at the page the user would see. This reduces cost, time, and effort in the translation process. Page, Product, Search, SEO, and Content all one hundred percent supported.

As part of translating your products, you'll also want to provide translations for your filter categories which (along with attributes) allow users to refine their category and search results.

In this release, we've enhanced the process of providing filter category translations so it is very similar to the translation process for products, attributes, and so on. Watch the video below to learn more! The full multilingual playlist is also included here: https://youtube.com/playlist?list=PLuNwwww8WypP4x2ENDzHxWYgEdY4kLe0p&feature=shared

https://youtu.be/oyDoVkfVie0?feature=shared

Filter products by category or attribute and export

Under PIM > Products > Category Assignment, you can view all your products in an embedded spreadsheet along with all the categories each product is in. In the sheet you have all the product columns (such as name, description, etc) and you also have 20 columns (Category 1 - Category 20) which contain the category the product is in.

You can also use the category search box at the top of the sheet to filter for all products that are in a specific category.

  1. Start searching for a category in this box
  2. A dropdown will appear that lists the available categories in the system
  3. Select the one you are looking for
  4. The sheet will update to only show the products which are within that category

The PIM > Products > Attribute Assignment tab works very similarly. You have a spreadsheet with your products and 20 columns that list out all the attributes each product is assigned to. As well as a filter box where you can narrow your products down to only those assigned to a particular attribute.

In this release, we've also added the ability to export only products assigned to a particular category or attribute. See the first two videos for an overview of these assignment screens and the second video for how to export based on category/attribute assignment!

https://youtu.be/iRmAcd00rVo?feature=shared&t=224
https://youtu.be/yUI_sOReUOg?feature=shared&t=1746
https://youtu.be/LuhrDedAHDo?feature=shared

Tickets

  1. KOD-9677: Kodaris - FedEx Integration via Rest API
  2. KOD-13954: Refactor CustomerGroup Service
  3. KOD-15676: Don't Continuously Send Emails if there's an Incorrect Subscription List Config
  4. KOD-16331: Import on filter categories screen does prefix code with 'fg'
    • Regression Tests
    • Case 1
      • Test all import types: "Create only", "Create and update" and "Update only". All categories in the file are already prefixed with fg_ or custom_.
      • POST /api/system/mapped/any/file/{mappingCode}/{importType}/{fileType}
    • Tests
    • Case 1
      • Testing both import strategies: "Create only" and "Create and update".
      • POST /api/system/mapped/any/file/{mappingCode}/{importType}/{fileType}
  5. KOD-16507: Setup multi-site on demo site for demo purposes
  6. KOD-16935: Fix description on Notification
    • Regression Tests
    • Case 1
      • Verify if the description of the notification "ScheduledPaymentCreated" has been updated.
  7. KOD-17380: Create better message for when a drop ship order does not get split
    • Regression Tests
    • Case 1
      • Verify if the order splitting functionality functions properly.
      • Before testing, confirm there are two items in the order (one - direct shipped and second not direct shipped)
    • Tests
    • Case 1
      • When there are only direct ship items in the order:
        • Select two products on the operations side and set the field "Direct shipped" to true for these products.
        • Log in as a customer on the customer side, add to bucket current products and you can paid for current order.
        • After completing the order, return to the operations side and locate the order.
        • Click the "Split Order" button.
        • After clicking the "Split Order" button, review the results.
    • Case 2
      • When there is one direct ship item and another item not direct ship in the order:
        • Follow the same steps as before, but this time, select two products on the operations side.
        • Set the "Direct shipped" field to true for the first item and false for the second item in the current order.
        • After clicking the "Split Order" button, it should redirect to the "Back Order" page.
        • Ensure that the current page displays the order record with subtype = 'Direct Order'.
  8. KOD-17431: Global search API issues
  9. KOD-18053: Add ability to stop Scheduler jobs
    • Regression Tests
    • Case 1
      • Ensure that Jobs are functioning properly.
  10. KOD-18390: Error When Linking Child Accounts Under 'Child Companies' Screen
    • Regression Tests
    • Case 1
      • Log in to the operations portal.
      • Navigate to the "Companies" section and select a company that has child companies.
      • Access the "Child Companies" tab.
      • Select the row of the company you wish to delete.
      • Delete the row.
      • Confirm that the row has been successfully deleted.
    • Case 2
      • Log in to the operations portal.
      • Navigate to the "Companies" section and select a company that has child companies.
      • Access the "Child Companies" tab.
      • Update one of the items in the grid.
      • Click outside the grid or reload the screen.
      • Verify that the company has been updated accordingly.
    • Tests
    • Case 1
      • Log in to the operations portal.
      • Navigate to the "Companies" section and select "Child Companies."
      • Click on "Assign Child Company."
      • Choose a company that currently does not have any child companies.
      • Verify that the company has been successfully added to the grid.
    • Case 2
      • Log in to the operations portal.
      • Navigate to the "Companies" section and select "Child Companies."
      • Click on "Assign Child Company."
      • Choose a company that already has child companies.
      • Confirm that an error message appears stating "Cannot assign a parent Company to a Company that has child Companies."
  11. KOD-18506: Allow customers to upload documents to Company, Orders and company addresses in Customer Portal
    • Tests
    • Case 1
      • POST: /api/account/customerCompanyAddress/{companyID}/{companyAddressID}/customerFile
    • Case 2
      • POST: /api/account/company/{companyID}/customerFile
  12. KOD-18567: Order templates
  13. KOD-18571: Fixing filter issue in directShipped column
    • Tests
    • Case 1
      • Navigate to the Locations page and test the sorting and filtering functionalities by "Local" and "Direct Shipped".
  14. KOD-18631: UX for Minimum Order Feature
    • Regression Tests
    • Case 1
      • Review the product pages, category product lists (both grid and list views), and the functionality of the cart number input.
      • Focus on products where intervalOrderQuantity, minimumOrderQuantity, and maximumOrderQuantity have not been configured.
    • Tests
    • Case 1
      • Test the number input functionality and appearance in both the grid and list views of the category product list.
    • Case 2
      • Verify the number input functionality and appearance on the cart page.
    • Case 3
      • Ensure the number input functionality and appearance on the product page for items with intervals and maximumOrderQuantity settings are functioning correctly.
    • Case 4
      • Set up product with only intervalOrderQuantity and check number input functionality and look. Tooltip for maximum order quantity shouldn’t be shown.
    • Case 5
      • At cart, product and category list pages try typing test values into the number input or values less than 0. Those values shouldn’t be saved, they should be automatically updated to minimumOrderQuantity or the interval (if they are defined) or to 1 (for those products without minimumOrderQuantity or interval)
    • Case 6
      • In the operations portal, examine the search and data grids in the products section, as well as the product detail page.
      • Add the following columns to the grids: Interval Order Quantity, Minimum and Maximum Order Quantity.
      • Proceed to the details section and attempt to edit data in the respective fields.
  15. KOD-18691: Customer Commerce - More Like This in Solr
    • Regression Tests
    • Case 1
      • We need to verify that the common product search functionality is still operating as intended. This involves accessing the same URL without specifying 'moreLikeThis' in the type parameter. Here's the URL format: /api/user/search/product/text?searchString={anyStringThatMatchesWithAProduct}
    • Tests
    • Case 1
      • Hit endpoint from UI: /api/user/search/product/text?searchString={productCode}&type=moreLikeThis&useAISearch=false where {productCode} is any valid product code in the database.
      • Confirm that you receive 'related' products in the response.
  16. KOD-18697: Edit PIM Products Within a Category
    • Regression Tests
    • Case 1
      • Navigate to the Products screen on the operations portal.
      • Open the Category assignment tab.
      • Verify that everything is working properly.
    • Case 2
      • Navigate to the Categories screen on the operations portal.
      • Open specific category details page.
      • Verify that everything is working properly.
    • Tests
    • Case 1
      • Navigate to the Products screen on the operations portal.
      • Open the Category assignment tab.
      • Navigate to the specific product detail page.
      • Edit some data.
      • Confirm that the changes are saved successfully.
    • Case 2
      • On the operations portal, navigate to the Categories screen.
      • Open the specific category details page.
      • Go to the Products tab.
      • Navigate to the specific product details page.
      • Edit some data.
      • Confirm that the changes are saved successfully.
  17. KOD-18713: Phase 2 - Syncing Images from Kodaris to Infor Document Storage Module
  18. KOD-18717: Add restrictions to products
  19. KOD-18748: Insights Article Covering AI Order Automation Feature
  20. KOD-18756: Add COD payments to base payment portal
    • Regression Tests
    • Case 1
      • Generate an order email and verify that it functions as intended.
    • Tests
    • Case 1
      • Go through COD payment flow, make sure everything works as expected.
  21. KOD-18785: Test Releasing Orders to ERP
  22. KOD-18850: Make enablePublicPricing setting multi-site compatible
  23. KOD-18859: Add global setting to disable billing address edit in cart
    • Regression Tests
    • Case 1
      • Verify that updating the billing address functions as expected when the setting is turned off.
    • Tests
    • Case 1
      • Verify that the setting "disableEditBillingAddressInCart" is functioning properly and that contact info is editable.
  24. KOD-18900: Register form issues
    • Regression Tests
    • Case 1
      • Attempt to request an account.
      • Verify that the account request functions correctly.
      • Ensure that an email is generated and sent. If the email is not received, please ask someone to confirm if the email was generated.
    • Case 2
      • Try to request account from the web
      • Request account should work correctly.
      • Email should be generated and sent. If email was not retrieved, then ask someone to check if email was generated.
    • Tests
    • Case 1
      • Confirm, that /ser-scripts/contactFormEmailAlert.js was updated to bypass captcha for requests from mobile.
      • Try to request account
      • Request account should work correctly.
      • Email should be generated and sent. If email was not retrieved, then ask someone to check if email was generated
  25. KOD-18902: Update to Product List not Saving from List Details Page
    • Regression Tests
    • Case 1
      • On the customer portal navigate to the company lists screen.
      • Ensure that everything works properly.
    • Tests
    • Case 1
      • On the customer portal navigate to the company lists screen.
      • Navigate to the company list.
      • Press “edit” button and update “Name“ and “Description“.
      • After saving reopen this edit dialog and confirm that values was changed.
  26. KOD-18952: Child products can be added to cart
    • Regression Tests
    • Case 1
      • Login as customer.
      • Go to some category.
      • Go to Grid/List view.
      • Try to add new product into shopping cart.
      • Make sure product successfully added into cart.
    • Case 2
      • Login as customer.
      • Got o some product.
      • Go to Grid/List view.
      • Try to add new product into shopping cart.
      • Make sure product successfully added into cart.
    • Tests
    • Case 1
      • Login as customer.
      • Go to some category.
      • Go to Catalog view.
      • Fill the quantity of products that you want to be added into cart.
      • Click Add to cart button.
      • Make sure all products successfully added into cart.
  27. KOD-18960: Hold Web Order if it Includes Direct Ship Items
    • Tests
    • Case 1
      • Place and order.
      • Check that If some item in the order has the attribute directShipped=true then the order has to has the setting trendHold = 1
      • Note: there is other logic that put this setting to true, like when we have the systemSetting_ holdAllGuestOrders=1
  28. KOD-18975: Substitution Product - UX
  29. KOD-18993: Create linkedOrders endpoint for customer portal
    • Tests
    • Case 1:
      • check new endpoint: /api/account/order/{orderID}/linkedOrders.
      • before testing need to populate company setting: erpLogicEngine = inforCSD
      • Select the three orders with empty column: ERP , remember IDs of selected order and than go to details page on operations side for each selected orders, go to development tab → populate field: extra5.
      • Then go to swagger side and use new endpoint: /api/account/order/{orderID}/linkedOrders
      • The result, for example if you put orderID: 5850 => should return linked orders by field: extra5
        • orderID: 5851 => 9999999999-02
        • orderID: 5852 => 9999999999-03
  30. KOD-19039: Test releasing order to ERP
  31. KOD-19061: Make defaultPricingWarehouse multi-site compatible
    • Tests
    • Case 1
      • Test defaultHostWarehouse global setting pricing correct.
    • Case 2
      • Test defaultHostWarehouse host setting pricing correct.
  32. KOD-19097: Add Card Type Selector to Mobile
    • Regression Tests
    • Case 1
      • Login to the app.
      • Go to “…” → payment methods.
      • Confirm, that cards are creatable for account payment methods.
      • Confirm, that cards are creatable for company payment methods.
    • Case 2
      • Login to the app.
      • Go to “…” → payment methods.
      • Confirm, that cards are editable for account payment methods.
      • Confirm, that cards and bank accounts are editable for company payment methods.
    • Case 3
      • Go to home screen.
      • Press on Payments.
      • Select open invoice.
      • Press Calculate totals.
      • Use card with card type set.
      • Pay invoice.
      • Invoice should be payed successfully.
    • Case 4
      • Login to the app.
      • Go to “…” → locations.
      • Open any location.
      • Confirm, that states are changeable.
      • Change country (if only one country is shown, then choose this country in the modal form).
      • Confirm, that states are still changeable.
      • Save this location with different data from select. Return to this location after saving. Confirm, that is saved correctly.
    • Tests
    • Case 1
      • Go to more → payment methods.
      • Press create card.
      • Fill in all data without card type.
      • You should not be able to save without card type.
      • Choose card type from two options, Credit or Debit.
      • Save card.
      • Confirm on the web, that this card was successfully saved with required card type.
    • Case 2
      • Go to more → payment methods.
      • Press on any card.
      • Fill in card number.
      • You should not be able to save without card type (do this if your card has no card type).
      • Change card type to another one or select any if it was not set before
      • Save card.
      • Confirm on the web operations portal, that card type was changed successfully.
    • Case 3
      • Go to home screen.
      • Press on Payments.
      • Select open invoice.
      • Press Calculate totals.
      • Use card without card type set.
      • Enter CVV.
      • Confirm, that is impossible to pay invoice without selection of card type.
      • Select card type.
      • Pay invoice.
      • Invoice should be payed successfully.
      • Confirm on the web’s operational portal, that card type was set for this payment method.
    • Case 4
      • Go to more → locations.
      • Select any location.
      • You should see the name of the state instead of it’s code, when it is selected (you should see the name you selected)
      • You might not see changes to the country.
    • Case 5
      • When you choose debit card to pay invoices you should not see convenience fee shown to the user for either schedule or regular payment
  33. KOD-19100: Setting enableGuestQuoteRequestInCart throws exception when use under host
    • Tests
    • Case 1
      • Check if Quote Request In Cart is enabled for guest when host setting used.
    • Case 2
      • Test Place Order With Credit Card works as before for Customer and guest.
  34. KOD-19107: Fix issue with broken images
    • Regression Tests
    • Case 1
      • The website should load properly, and the featured product images should now be displayed correctly.
  35. KOD-19132: Add multilingual to filter categories screen in operations portal
    • Regression Tests
    • Case 1
      • The following pages should load and edit fine:
        • Filter Categories
        • Filter Category Attributes
    • Case 2
      • Make sure that Products > Filter Categories > Details works as expected.
    • Tests
    • Case 1
      • On Filter Category Detail page, you should be able to load and edit info fine.
    • Case 2
      • In default language, you should be able to edit name field fine and the correct name should appear on the website.
    • Case 3
      • Change the language in the header and edit the filter category name.
      • Original filter category name shouldn’t have changed.
      • A message for that language should have been created.
    • Case 4
      • Try creating/updating name with different languages. Messages should be created/updated correctly.
  36. KOD-19154: Start date not populating when shiptos created
  37. KOD-19160: Make a video how restrictions is working
  38. KOD-19188: Fix Credit App on Demo Site
    • Regression Tests
    • Case 1
      • Go through the credit app flow and make sure everything looks/works as expected.
    • Tests
    • Case 1
      • Make sure that if you log out in the middle of filling out the credit application, when you login, you are redirected back to the form.
      • Also, if you refresh the page while filling out the form, your data should remain.
  39. KOD-19200: Automatically Tag Payment Methods for Converge Using API Call
    • Regression Tests
    • Case 1
      • Global setting (or customer/company setting): paymentSystemcardAccount is set to CONVERGE.
      • At customer portal make sure Payment Methods pages for company and customer work correctly, displays all payment methods, new methods might be added
    • Tests
    • Case 1
      • Global setting (or customer/company setting) paymentSystemcardAccount is set to CONVERGE.
      • At customer portal go to Payment Methods pages for company and customer, add new cards, make sure cardType is set.
  40. KOD-19203: Update new customer activation template
    • Regression Tests
    • Case 1
      • Go through the lost password flow and make sure that still works fine.
      • Check that the emails are worded correctly for lost password.
    • Case 2
      • Add customer with the new flow, they should get a account activation email.
      • Go through the flow and make sure everything looks good.
      • I didn’t get an activation email.
  41. KOD-19205: Export doesn't support category filter
    • Regression Tests
    • Case 1
      • On the operations portal navigate to the products screen.
      • Open “Category Assignment” tab and export data to the file.
      • Verify that the API call is functioning correctly.
      • Repeat steps 2 and 3 for “Attribute Assignment“ tab.
    • Case 1 (Platform)
      • Navigate to Products page, Category Assignment tab. Make sure data is loaded correctly, filtering is working.
    • Tests
    • Case 1
      • On the operations portal navigate to the products screen.
      • For the “Category Assignment“ and “Attribute Assignment“ tabs do following steps:
      • Set category/attribute code
      • Export to the file.
      • Verify that the API call is functioning correctly.
      • Check is data in the exported file equals to the data on the grid.
    • Case 1 (Platform)
      • Export the products and ensure that the category filter is applied correctly.
  42. KOD-19218: Rename labels on orders templates
    • Regression Tests
    • Case 1
      • Go to customer portal → Orders screen.
      • Choose one of available orders.
      • Check if details page looks good.
      • Click on button "print".
      • Check if pdf file looks good.
  43. KOD-19219: Inventory
    • Case 1
      • Verify that everything functions correctly for logged-in users, including:
      • Inventory on the product list page.
      • Inventory on product page.
    • Tests
    • Case 1
      • Check that everything works fine for guest user:
      • Inventory on the product list page.
      • Inventory on product page.
      • You should see in/out of stock.
    • Case 2
      • Do this case as a guest.
      • *Add some items to the cart.
      • Go to the cart.
      • Check if you don’t see button request custom items.
      • Click on button clear cart.
      • Check if you don’t see button request custom items.
    • Case 3
      • Do this case as a log in user.
      • Add some items to the cart.
      • Go to the cart.
      • Check if you don’t see button request custom items.
      • Click on button clear cart.
      • Check if you don’t see button request custom items.
  44. KOD-19221: Commerce - Credit card checkout block
    • Regression Tests
    • Case 1
      • Make sure cart payments screen still loads and appears as normal.
    • Case 2
      • Make sure the checkout with card option still shows if your item totals are greater than 0.
    • Case 3
      • In the mobile app make sure the checkout with card option still shows if your item totals are greater than 0.
    • Tests
    • Case 1
      • Add an item to you cart with a total of 0.
      • Go to the last checkout tab, make sure that checkout with card is not allowed.
    • Case 2
      • Add an item to you cart with a total of 0.
      • Go to the last checkout tab, make sure that checkout.
      • Go to Swagger, be sure to authenticate swagger with the user that was creating the order. Then, keeping that session open test the next endpoint:
        • [GET] /api/user/cart/getPaymentMethodOptions
        • payment method = credit card (CC) should not be in the result list.
        • [POST] /api/user/cart/placeOrderWithCreditCard
      • Fill some data to pay with credit card and check that we get a forbidden error.
    • Case 3
      • In the mobile app make sure the checkout with card option is not showed if you have at least 1 item with total equal to 0.
  45. KOD-19222: Commerce - Shipping Calculation Product Fields
    • Regression Tests
    • Case 1
      • Validate you can still create/edit Products without updating the new fields.
      • In operation portal, create new product without adding the new fields. Response should be success and expected value for additionalShippingCost should be null or 0 and mapPrice in false.
    • Case 2
      • Update existing product from operation portal for values different from mapPrice and additionalShippingCost .Validate that the response is success.
    • Case 3
      • Update any existing Order Item changing values different from additionalShippingCost.
    • Tests
    • Case 1
      • Add products to the cart or to an Order an check the order Item is created with the new field additionalShippingCost. You could use endpoints like /api/system/order/{orderID}/orderItem/{orderItemID} to see orderItem fields
      • or go to operations portal -> orders ->
      • Click in 'Orders'.
      • Select the order which has the orderItems.
      • Verify the orderItem fields in development screen.
    • Case 2
      • Check the new fields are returned when searching for products in any endpoint in swagger which return DTO. Example: /api/system/product/{productID}
    • Case 4
      • Log in as an employee on the operations portal.
      • Set some products with new property mapPrice in true and others in false.
      • Hit endpoint /api/user/product/pricesByCode
      • Validate that the following fields in the response for each product which has mapPrice in true must be null or empty:
        • wholeUnitPrice
        • calculatedPrice
        • unitPrice
        • altPrice
        • priceBreaks
    • Case 5
      • Log in as a customer on the customer portal.
      • Set some products with new property mapPrice in true and others in false.
      • Hit endpoint /api/user/product/pricesByCode.
      • Validate that the following fields in the response for each product have correct values (not null unless it is null in database):
        • wholeUnitPrice
        • calculatedPrice
        • unitPrice
        • altPrice
        • priceBreaks
  46. KOD-19224: Fix auto adding host storeLogo setting
    • Regression Tests
    • Case 1
      • Make sure storeLogo and storeLogoLight in themer panel still work
    • Tests
      • Open the themer panel and try updating the storeLogo and storeLogoLight. It should work fine.
      • Note: make sure the host setting doesn’t exist first.
  47. KOD-19230: AP Textract Automated Flow
    • Regression Tests
    • Case 1
      • Hit /api/system/email endpoint and make a PUT/PATCH operation editing some fields but also any of the related entities fields (companyID, customerID, orderID, templateID)
      • Verify that those IDs are not being updated. Those values should be taken from current saved email in database
  48. KOD-19232: Convert serverside Event API to SAPI
    • Regression Tests
    • Case 1
      • POST endpoints
    • Case 2
      • GET endpoints
    • Case 3
      • PUT endpoint
    • Case 4
      • DELETE endpoints
  49. KOD-19234: Add customer mobile app configuration endpoint
    • Tests
    • Case 1
      • Account API definition in swagger, Customer API tab.
      • /api/account/customer/customerMobileAppConfiguration
  50. KOD-19237: Direct Ship - update integration for prodcat setting
  51. KOD-19239: Add campaigns table
    • Tests
    • Case 1
      • Open swagger, System API definition, scroll to Campaign API. Test campaign endpoints.
    • Case 2
      • Test these endpoints from user scripts.
  52. KOD-19240: CompanyCatalog - recently purchased products updates
    • Tests
    • Case 1
      • Use swagger and hit: /api/account/companyProductCategory/{companyProductCategoryID}/listProducts endpoint and check sort is working for lastPurchaseDate.
    • Case 2
      • Use swagger and hit: /api/account/companyProductCategory/{companyProductCategoryID}/listProducts endpoint and check you can filter by lastPurchaseDate using different expression options like
        • BETWEEN or GREATER_THAN_EQUAL.
  53. KOD-19243: Add Translations for Actions in Customer Portal
    • Regression Tests
    • Case 1
      • Make sure your default language is English.
      • Log in to Customer Portal.
      • Click On Orders.
      • Click on Actions.
      • Everything in dropdown should still be in English.
    • Case 2
      • Make sure your default language is English.
      • Log in to Customer Portal.
      • Click On Quotes.
      • Click on Actions.
      • Everything in dropdown should still be in English.
    • Tests
    • Case 1
      • Go to Operations Portal and add in everything that needs to be translated.
      • Download all as csv file
      • Download selection as pdf files
      • Download selection as sage files
      • Request conditional final lien release
      • Request unconditional final lien release
      • Request conditional progress lien release
      • Request unconditional progress lien release
      • Log in to Customer Portal.
      • Make sure default language is set to whatever language you used to add translations above.
      • Click On Orders.
      • Click on Actions.
      • Everything in dropdown should be translated accordingly.
    • Case 2
      • Same initial set up as above.
      • Log in to Customer Portal.
      • Make sure default language is set to whatever language you used to add translations above.
      • Click On Quotes.
      • Click on Actions.
      • Everything in dropdown should be translated accordingly.
  54. KOD-19244: Change image position - CMS page
    • Regression Tests
    • Case 1
      • Check that the below blocks still look the same in both the page editor and on the page: (on pre-existing pages).
      • CM: Section: Full Width with 1 image
      • CM: Section: Split With 1 image
      • Note: for the Full Width block, make sure the editor doesn’t say anything about block recovery.
    • Case 2
      • Check that you can also edit those blocks fine.
    • Tests
    • Case 1
      • Using the Attributes → Reverse function, make sure that you can change the position of the image in the block.
      • For: CM: Section: Full Width with 1 image.
    • Case 2
      • Check that the image upload section looks normal and the image isn’t huge.
      • For: CM: Section: Split With 1 image.
  55. KOD-19249: Change category code column field label on attributes grid
    • Regression Tests
    • Case 1
      • Go to operations portal → Attribute Languages.
      • Check if page looks good.
    • Case 2
      • Go to operations portal → Attribute Languages.
      • Check if you can add Attribute Languages without any problems.
    • Case 3
      • Go to operations portal → Attribute Languages.
      • Check if you can update Attribute Languages without any problems.
    • Case 4
      • Go to operations portal → Attribute Languages.
      • Check if you can delete Attribute Languages without any problems.
    • Tests
    • Case 1
      • Go to operations portal → Attribute Languages.
      • Check if you see Attribute Code, Attribute ID, Attribute Language ID, Attribute Title instead of Category Code, Category Language ID, Category ID, Page Title.
  56. KOD-19250: Fix server side export/import for customizer widgets - next step
    • Regression Tests
    • Case 1
      • Check that the widgets screen loads as normal with no errors.
    • Tests
    • Case 1
      • Check that you can export widgets fine with no errors.
    • Case 2
      • Check that you can import widgets using the new widgets imports.
  57. KOD-19251: Insert enableShopByStore setting
  58. KOD-19253: Scoping for next steps - FedEx Integration via Rest API
  59. KOD-19261: Scoping on the Direct Shipped Facet
    • Regression Tests
    • Case 1
      • Create or update a product should index it correctly when:
        • IntegrationIndexedProductFields is blank and filter category for fg_directShipped exist.
        • IntegrationIndexedProductFields is blank and filter category for fg_directShipped not exist.
        • With integrationIndexedProductFields = blank we can add a product manually to filter category fg_directShipped.
    • Tests
    • Case 1
      • Setup integrationIndexedProductFields with next value:
        • [{"fieldName":"directShipped","solrField":"fg_directShipped"}]
      • Create Filter Category.
      • Modify an existent product and check that it is indexed with facet directShipped Yes or No according with what we put in the existent product.
  60. KOD-19264: Enable users with emails to edit direct ship products
  61. KOD-19265: Import/Export URL Rewrites
    • Tests
    • Case 1
      • Check new export/import URL Rewrites endpoints.
      • Check import URL Rewrites actions: basicURLRewriteUpload, basicURLRewriteUploadCreateOnly, basicURLRewriteUploadUpdateOnly
      • Check new export endpoint: POST => /api/system/URLRewrite/export
  62. KOD-19267: Create mapping for the SASGM / basicTaxRates table
  63. KOD-19268: Do not update DO
  64. KOD-19276: QuickSight scheduled reports use custom filter date
  65. KOD-19294: Blank Supplier Part Number
    • Tests
    • Case 1
      • Note check for login customer and guest.
      • Check for this product kodarisTestProduct if you can see SUPPLIER PART and SUPPLIER.
    • Case 2
      • Note check for login customer and guest.
      • Check for this product ABM1205 if you can not see SUPPLIER PART and SUPPLIER
  66. KOD-19300: Cost not Populating on Line Items on Guest Orders
  67. KOD-19302: Serverside export for customizer widgets
    • Tests
    • Case 1
      • Test new export endpoint: [POST] /api/system/cms/export
  68. KOD-19309: Display unit sell
    • Regression Tests
    • Case 1
      • Click into any category to see the list of products.
      • Look at both grid and list view.
      • Notice price is still present.
    • Case 2
      • Click into any category to see the list of products.
      • Click into a specific product.
      • Notice price is still present.
    • Tests
    • Case 1
      • Click into any category to see the list of products.
      • Make sure you are in grid view.
      • Notice the unit sell is next to the price
    • Case 2
      • Click into any category to see the list of products.
      • Make sure you are in list view.
      • Notice the unit sell is next to the price.
    • Case 3
      • Click into any category to see the list of products.
      • Click into a specific product.
      • Notice the unit sell is next to the price.
  69. KOD-19318: 404 Error on Reorder Feature
  70. KOD-19323: Order Not Yet Pushed to Trend Notification Issue
  71. KOD-19335: Import/Export URL Rewrites - UX
    • Tests
    • Case 1
      • Go to operations portal → Url Rewrites.
      • Click on file → export.
      • Check if file looks good and export works fine.
    • Case 2
      • Go to operations portal → Url Rewrites.
      • Click on file → import.
      • Try to choose different options to import.
      • Check to ensure that everything is functioning properly.
  72. KOD-19357: UX for Minimum Order Feature - add to demo site