All Releases
June 5, 2025 May 29, 2025 May 22, 2025 May 15, 2025 May 8, 2025 May 1, 2025 April 24, 2025 April 17, 2025 April 10, 2025 April 3, 2025 March 27, 2025 March 20, 2025 March 13, 2025 March 6, 2025 February 27, 2025 February 20, 2025 February 13, 2025 February 6, 2025 January 30, 2025 January 23, 2025 January 16, 2025 January 9, 2025 January 2, 2025 December 26, 2024 December 19, 2024 December 12, 2024 November 28, 2024 November 21, 2024 November 14, 2024 November 7, 2024 October 31, 2024 October 24, 2024 October 17, 2024 October 10, 2024 October 3, 2024 September 26, 2024 September 19, 2024 September 12, 2024 September 5, 2024 August 29, 2024 August 22, 2024 August 15, 2024 August 8, 2024 August 1, 2024 July 25, 2024 July 18, 2024 July 11, 2024 June 27, 2024 June 20, 2024 June 13, 2024 June 6, 2024 May 30, 2024 May 23, 2024 May 16, 2024 May 9, 2024 May 2, 2024 April 25, 2024 April 18, 2024 April 11, 2024 April 4, 2024 March 28, 2024 March 21, 2024 March 14, 2024 March 7, 2024 February 29, 2024 February 22, 2024 February 15, 2024 February 8, 2024 February 1, 2024 January 25, 2024 January 18, 2024 January 11, 2024 January 4, 2024 December 21, 2023 December 14, 2023 December 7, 2023 November 30, 2023 November 16, 2023 November 9, 2023 November 2, 2023 October 26, 2023 October 19, 2023 October 12, 2023 October 5, 2023 September 28, 2023 September 21, 2023 September 14, 2023 September 7, 2023 August 31, 2023 August 24, 2023 August 17, 2023 August 10, 2023 August 3, 2023 July 27, 2023 July 20, 2023 July 13, 2023 July 6, 2023 June 29, 2023 June 22, 2023 June 15, 2023 June 8, 2023 June 1, 2023 May 25, 2023 May 18, 2023 May 11, 2023 May 4, 2023 April 27, 2023 April 20, 2023 April 13, 2023 April 6, 2023 March 30, 2023 March 23, 2023 March 16, 2023 March 9, 2023 March 2, 2023 February 23, 2023 February 16, 2023 February 9, 2023 February 2, 2023 January, 2023 December, 2022 November, 2022 October, 2022 September, 2022 August, 2022 July, 2022 June, 2022 May, 2022 April, 2022 March, 2022 February, 2022 January, 2022 December, 2021 November, 2021 October, 2021 September, 2021 August, 2021 July, 2021 June, 2021 May, 2021 April, 2021 March, 2021 February, 2021 January, 2021 December, 2020
View all releases

May 15, 2025 release notes

Highlights

Operations Portal

Opportunities Tab Added to Company Screen

The Operations Portal now enables users to view and manage opportunities directly from company detail pages. This integration eliminates the need to navigate between different sections of the portal when working with company-related opportunities, streamlining workflow and reducing context switching.

Users can access this feature through the new Opportunities tab on any company details page. The tab displays all opportunities associated with the selected company in an organized grid view. Creating new opportunities is simple-click the More button in the top right corner and select "Add opportunity." After entering a name and clicking Add, the new opportunity appears immediately in the company's opportunity list.

This feature is available now to all Operations Portal users. For a visual walkthrough of this functionality, please refer to our tutorial video:

https://youtu.be/ZEi9cXVZLN0

Pay an order using a saved credit card

In this release, we've added the ability to select from a customer's previously saved credit cards when processing order payments. When paying for an order in the operations portal, simply navigate to the order details, click the "Pay Order" icon, and select the "Saved Credit Card" option. Choose the payment type (Sale or Auth Only), specify the amount, and select the appropriate card from the customer's saved payment methods.

This update streamlines the payment processing workflow by eliminating the need to request card information or manually enter card details for returning customers. For a detailed walkthrough of this feature, please refer to our demonstration video:

https://youtu.be/Z054aDp-qos

Tickets

  1. KOD-17801: Commission Engine Next Steps
  2. KOD-24388: App Price Check Not Honoring Quantity Break Pricing
    • Regression Tests
    • Case 1
      • Go to quick order → order → checkout.
      • Test changing of purchaseOrder and confirm it is saved correctly on submission of the order.
    • Case 2
      • Go to expanses → add expanse screen.
      • Test changing any value.
    • Tests
    • Case 1
      • When changing quantity, price breaks should be updated accordingly.
    • Case 2
      • The UI input elements should have updated UI.
    • Case 3
      • Search list on Product Code and Warehouse should be reversed and grow up, instead of down.
    • Case 4
      • Auto-scrolling should make pricing visible after search is finished.
    • Case 5
      • Auto-scrolling should make pricing visible after search is finished.
      • After changing quantity to another value, the search results should be updated.
  3. KOD-24445: Add Ability to Override Product Restrictions on Company Level
  4. KOD-24720: Check for Lot Number Data for Invoices
  5. KOD-24780: Create App Listing
  6. KOD-24849: Customer Mobile App
  7. KOD-24851: Set up Order Templates
  8. KOD-25003: Bring ICETL table table out the DataLake into Kodaris
  9. KOD-25007: Invoice Status Update Issue
  10. KOD-25021: 2Ship freight fees: compare CSD API call with Kodaris to figure out discrepancies
  11. KOD-25056: Master order/budgets - Add ability to create a budget in customer portal
    • Regression Tests
    • Case 1
      • For this regression test, we will go to Locations - Select a location - Budget tab.
      • We are going to test the Budget Amount inline-edit field.
      • Make sure that it still works properly on Budgets created by an employee and now by a customer.
    • Tests
    • Case 1
      • For this case, we will go to Locations - Select a location - Budget tab.
      • If the current Location doesn’t have a Parent Budget created (you can check that in the operations portal), you should see a “Create budget” button.
      • Clicking that button should open a Modal, which will ask you to add a Budget Amount.
      • After you’ve entered a budget amount, you can click on “Create”.
      • Now, the Create budget button should have disappeared and you should see the budget grid, as well as the Total Spend and Budget Amount headers. You should also see a badge on the Budget tab with the current spend amount of that location budget.
      • The Budget Amount should display the value you entered in the dialog.
    • Case 2
      • If your parent budget doesn’t have any child elements, you should see a message in the grid that says:
      • Your budget has been created and is currently calculating your current spend.
      • Refresh in a few minutes to see the spend.
  12. KOD-25101: Restricted products for guest users
    • Tests
    • Case 1
      • Check if for guest user there is “Add to Quote“ instead of “Add to cart“ for guest users.
      • Check If you can add a restricted product to the cart.
      • Check if you can request a quote if a restricted item is in the cart.
      • Check if you can place and order as a guest if there is no restricted product in the cart.
      • Check if payment methods are displayed correctly after removing items from the cart.
    • Case 2
      • Check for logged in users if it’s possible to request a quote and place an order.
      • Check if restricted products are available to add to cart for logged in users.
  13. KOD-25143: Custom catalogues NOT working
  14. KOD-25212: Quote Email Template & Confirmation are translatable
    • Regression Tests
    • Case 1
      • Check that the quote request is created correctly with English selected in the customer portal and in the language dropdown.
      • Check that the “Request quote“ page has the correct translation (English).
      • Check that the email with the quote data sent to the user's email looks correct and has the correct translation.
    • Tests
    • Case 1
      • Check that the quote request is created correctly with French selected in the customer portal and in the language dropdown.
      • Check that the “Request quote“ page has the correct translation (French).
      • Check that the email with the quote data sent to the user's email looks correct and has the correct translation.
  15. KOD-25240: Add a saved quantity to products in a company catalog - UX
    • Regression Tests
    • Case 1
      • On the search, category, and product detail screens, check that everything works correctly and you can add items to catalogs fine without issues.
    • Case 2
      • Also check that the interval order qty, minimum order qty, and maximum order qty is still working as expected.
    • Case 3
      • Go to company, customer, and group catalogs. Check that everything is working as expected, you can update the quantity and add items to cart without issues.
    • Tests
    • Case 1
      • Go to a product on the search, category, and product details screens.
      • From each, update the qty input and then add the item to both a customer and company catalog,
      • View the catalog and the product.
      • The qty should be pre-populated in the qty input.
    • Case 2
      • On each catalog screen, update the qty input for a product and refresh the page.
      • The new qty that you just added should still be there.
    • Case 3
      • Add item to cart from both catalogs with the pre-populated qty. The item in the cart should have the correct qty.
  16. KOD-25284: Set up Featured category
  17. KOD-25306: Setup Home Page as CMS Page- Created From Ticket 21301
  18. KOD-25354: Platform - Link Returns to the Delivery for Driver Delivery endpoints
  19. KOD-25362: Add registration link to homepage for new customers
    • Regression Tests
    • Case 1
      • Check that the login page looks correct.
      • Check that there are no errors in the console.
  20. KOD-25376: T&C and Privacy Policy
  21. KOD-25382: Order confirmation email formatting update
    • Regression Tests
    • Case 1
      • Check that the order is created correctly and the mail with the order data is sent to the mailbox.
      • Check that the mail data is correct, the template looks correct.
    • Tests
    • Case 1
      • Create an order, leaving the Purchase Order field empty - make sure that an email has arrived to your mailbox, the email template is correct.
      • Create an order, filling in the Purchase Order field - make sure that an email has arrived to your mailbox, the email template is correct.
  22. KOD-25424: Warehouse visibility Created From Ticket 21942
  23. KOD-25466: Master order/budgets - Allow customers to edit budgets at the line item level
    • Regression Tests
    • Case 1
      • For this regression, you should go to the Locations screen- Select a Location - Budget tab.
      • Make sure that everything loads properly.
      • We will also test the inline-editor for the Budget Amount.
      • Make sure the information is updated successfully and that the Total Spend badges change colors accordingly.
    • Tests
    • Case 1
      • For this test, you should go to the Locations screen- Select a Location - Budget tab.
      • If that Location has items, go to the Budget Amount tab and locate the new field that was added to that column.
      • We are going to test the editing of that field. Make changes to that field and make sure the data is saved correctly.
      • You can check that in the operations portal to make sure.
      • Also make a change in the operations portal and expect it to be reflected on the customer portal.
      • This should not change any of the other values on the screen at the moment, the Total Spend, or the Budget Amount.
  24. KOD-25505: Encourage Login Following Add to Cart to Preserve Contents Past Timeout
    • Tests
    • Case 1
      • When the user is not logged in and adds an item to cart, a notification is shown saying the items in cart will be saved for 20 minutes. The notification will disappear automatically after 6 seconds, or when the link ‘Continue as guest’ is triggered.
      • When the link to ‘Register OR Sign in’ is triggered, it will open the ‘Sign in’ page.
      • When the user is logged in, adding an item to the cart should not show the notification.
  25. KOD-25516: Make Billing Address not editable
    • Regression Tests
    • Case 1
      • Check that the order is created correctly.
      • Check that the Billing Address fields are pre-filled on the checkout page.
      • Check that when changing the company on the checkout page, the Billing Address fields change.
      • Check that there are no errors in the console.
    • Tests
    • Case 1
      • Check that the Billing Address fields are not editable on the checkout page.
  26. KOD-25536: Order tracking endpoints do not support USPS 30 digit tracking numbers Created From Ticket 22046
  27. KOD-25557: Pricebooks - Allow customer to generate pricing when downloading pricebook
    • Regression Tests
    • Case 1
      • Employee side generation email should continue working.
      • Generate priceBook for employee side and make sure the employee received the email.
      • For this we have to go to a Company in the operation portals, and go to the catalogs.
      • In there you can find 2 buttons for generating the prices and download them
      • For this test we have to make sure that the update current pricing send the email, so go ahead and click on it and then wait until fiveMinuteBulkJob runs.
      • After that, you should receive the email about the pricing update.
      • Since you are already in the screen you can click and download pricing and verify it works and the pricing fields are populated although it is not part of this regression.
    • Tests
    • Case 1
      • A new endpoint is available to update prices.
      • /api/account/companyProductCategory/createCompanyProductCategoryPriceBookEvent/{companyProductCategoryID}.
      • Roles required: 'companyAdmin', 'viewPricing', 'accountsPayable'.
      • This will work the same way as Employee side:
      • Customers will hit the endpoint for updating pricing for one specific catalog, and the event will be created to be processed later in a Job.
      • After the FiveMinuteBulkJob runs and updates the event in queue, it will send an email notifying about the updates and a link to redirect to the company catalog page
      • {url}/company-catalog?code={catalogCode}
      • Then, the user should be able to understand that he can click the download button and the prices are up to date.
      • Since it is a new endpoint, it should be hit from swagger for now. But after the 5minuteBulkJob runs you should be able to download prices as it was created in this ticket time ago.
  28. KOD-25558: Check Rounding on Quote Templates
    • Regression Tests
    • Case 1
      • Create Account Quote.
      • Set priceEngine setting value to InforCSDV5.
      • Add several items to your Account Quote.
      • Generate order email and Order PDF.
      • Make sure for items with any other unit sell fields other than “LF“ in the Column “Unit Price“ 2 digits after comma are shown.
    • Case 2
      • Check the same column Unit Price in order email and order PDF on regular order:
      • Make sure 2 digits after comma are shown.
    • Case 3
      • With the same setup from feature Case 1 (shown below): update priceEngine value to any other priceEngine value other than InforCSDV5. You can use InforCSDV1, 2, 3, 4.
      • Generate order email and order PDF. Make sure for items with “LF“ Unit Sell only 2 digits after comma are shown.
    • Tests
    • Case 1
      • Following updates should be taking place only when priceEngine setting equals to InforCSDV5 and order item unitSell equals to “LF“ and you are generating orderEmail/orderPDF, etc. for an Account Quote.
      • Add items to your account quote. For some items set “LF“ unit sell.
      • Generate order email and order PDF.
      • Check generated email/PDF.
      • Make sure for order items with “LF“ unit sell field: you are able to see 3 digits after comma without rounding. If the number after the comma has less than 3 digits, “0” should be added.
      • Example:
      • 12.45 → 12.450
      • 12.458 → 12.458 (not 12.46).
  29. KOD-25559: Registration field addition Created From Ticket 22573
  30. KOD-25570: Be Able to Add an Image to a Filter Category (Backend)
  31. KOD-25572: Prevent Adding Inactive Items to Order
  32. KOD-25583: Automatically send employee notifications for automated orders sitting in Kodaris
    • Tests
    • Case 1
      • First of all, activate this setting: sendAlertsForAutomatedOrdersInException.
      • There is a condition also, to only execute it on working hours (9 AM-6 PM).
      • Add your email here: sendAlertsForAutomatedOrdersToEmails.
      • You need at least one order with employeeStatus = 'Automation Exception' and completed = anytime YESTERDAY.
      • Execute the HourlyIntervalJob, then check the email: Automated Orders in Exception Alert.
  33. KOD-25586: Setting up Production API account
  34. KOD-25588: Add support for translating the keywords
    • Regression Tests
    • Case 1
      • Test product language screen in the operations portal working as expected.
    • Tests
    • Case 1
      • Test newly added fields to ProductLanguage.
  35. KOD-25587: Automatically insert web customer cross references into CSD
  36. KOD-25591: Shipping Methods / Shipvias Created From Ticket 17220
  37. KOD-25593: Customer Email Tickets: Default to Customer View "Yes" Created From Ticket 22717
  38. KOD-25594: Ship Today Message on Checkout update
  39. KOD-25599: Create generic system to system connector
  40. KOD-25609: Add new order item field "customerUnit" to order item grid view
    • Tests
    • Case 1
      • Should render the Customer Unit column correctly.
  41. KOD-25608: Show Whole Order Discounts on Invoices
  42. KOD-25611: Order Automation - Collect customer unit in parsers and store on order item
  43. KOD-25612: Change Build Date to Follow up Date in Opportunity Filters
    • Tests
    • Case 1
      • Should render Follow up Date instead of Build Date in Opportunity filters when leadDetailScreen is equal to generic.
  44. KOD-25617: Customers with multiple Shipto's
    • Regression Tests
    • Case 1
      • Please test that Select Shipto Location popup works as usual even when shipto is not populated.
    • Tests
    • Case 1
      • Please test that on Select Shipto Location popup we can see shipto after location address in parentheses.
  45. KOD-25616: Add create campaign action to demo site ux
    • Regression Tests
    • Case 1
      • As a logged in employee, make sure you can still load a category page and the search page.
    • Case 2
      • On the category page, make sure when you click actions, you can still click manage category and do the things you were able to do before.
    • Case 3
      • If you are not logged into the operations portal, then you shouldn’t see the buttons on the category and search pages
    • Tests
    • Case 1
      • Navigate to the category page → click on actions → create campaign → a modal should popup → add a name and description and click save → upon success, you should see a new campaign being created with the code, name, link, and description where you can click on the code and it takes you to the campaign in the operations portal or you can click on the link and it takes you to that URL you just created a campaign for.
    • Case 2
      • This time go search for a product and click the create campaign button → do the same steps as above and upon success you should see the code, name, link, and description.
  46. KOD-25618: Implementation - Branding
  47. KOD-25619: Implementation - Branding
  48. KOD-25620: Customer Parser Set up Created From Ticket 22512
  49. KOD-25622: Shipping Rate Tables - Next steps
  50. KOD-25624: AP Auto- Email Processing Failed Error Created From Ticket 22892
  51. KOD-25626: Add campaign items crud UX
    • Regression Tests
    • Case 1
      • Open the Operations Portal.
      • Navigate to the Campaigns screen and select any available campaign.
      • Click on the Items tab.
      • Click on the Details tab.
      • Switch back and forth between the Items and Details tabs.
      • Expected Result:
      • The user can switch between the Items and Details tabs without any errors or UI issues.
      • The content of each tab loads correctly upon selection.
    • Tests
    • Case 1
      • Open the Operations Portal.
      • Navigate to the Campaigns screen and select any available campaign.
      • Click on the Items tab.
      • Verify the column display functionality:
      • Check that the user can toggle column visibility (show/hide columns).
      • Verify CRUD operations:
      • Read: Confirm that all existing items are displayed correctly as per the API response.
      • Create: Create a new item and verify it appears in the list and in the API.
      • Update: Modify an existing item and confirm that changes are reflected in the UI and API.
      • Delete: Delete an existing item and verify it is removed from both the UI and API.
  52. KOD-25625: Add campaign link field to campaigns screen
    • Regression Tests
      • Open the operations portal.
      • Navigate to the Campaigns screen.
      • Verify that the user can hide and show the Link field using the show/hide functionality.
    • Tests
    • Case 1
      • Open the operations portal.
      • Navigate to the Campaigns screen.
      • Verify that the Link field is displayed.
      • Verify that the Link field is displayed on a detailed page.
  53. KOD-25641: Delayed order acknowledgement email template
  54. KOD-25642: Note to Invoices and Statements
    • Regression Tests
    • Case 1
      • Check that the order details, order email and order pdf still work as expected.
    • Tests
    • Case 1
      • Check that on the order templates, there is now the message from the ticket description on the bottom left of the order totals section.
  55. KOD-25653: Cart pricing display - Multiple instances of same product
    • Regression Tests
    • Case 1
      • Make sure you can still add multiple different items to the cart and the prices still show (if there is a price).
    • Case 2
      • If you click on an item that says request a quote and no price, you still shouldn’t see a price in the cart.
    • Tests
    • Case 1
      • Add the same item multiple times to the cart and notice the price shows up on all the items.
  56. KOD-25657: Add delete orphans functionality for Products
  57. KOD-25669: Remove brand name as a filter
  58. KOD-25670: Update warehouse endpoint to pull all warehouses
  59. KOD-25673: Make product type field editable on the product development tab
    • Regression Tests
    • Case 1
      • In the Operations Portal:
      • On Product open Development Tab.
      • Make sure it is loaded with no issues.
      • Make sure you are able to update editable fields.
      • Make sure you are not able to update read only fields.
    • Tests
    • Case 1
      • In the Operations Portal:
      • On Product open Development Tab.
      • Find productType field.
      • Make sure it is editable.
      • Update value in this field. Refresh the page.
      • Make sure the product type field value was successfully updated.
  60. KOD-25675: Employee View-Teams Tab Currently Not Searchable Created From Ticket 23154
    • Regression Tests
    • Case 1
      • On the operations screen navigate to the Tickets screen.
      • Confirm page is loaded properly.
      • Navigate to the tickets screen under the company detail page.
      • Confirm page is loaded properly.
      • Repeat the same steps (except 3 and 4) for the Employees screen.
    • Case 2
      • On the operations portal navigate to any Ticket's search screen.
      • Add and remove some columns.
      • Confirm columns are properly removed.
      • Use filter, sort and search.
      • Confirm all actions are proceeding as expected.
      • Repeat the same steps for the Employees screen.
    • Tests
    • Case 1
      • On the Ticket’s search tab add the “Team” column.
      • Sort by the column.
      • Confirm sort has been applied.
      • Apply filtering by “Team” column.
      • Confirm filter is applied to the table.
      • Repeat the same steps for the Employees screen.
  61. KOD-25677: Show company saved payment methods on pay order popup to pay with saved card
    • Regression Tests
    • Case 1
      • In the operations portal, click into an order that has not been paid yet → make sure you can still submit a payment by new card and terminal.
    • Tests
    • Case 1
      • Click into an order that has not been paid yet → click pay order → notice the new option to select ‘Saved Credit Card’ → if the company has saved credit cards, the option will be enabled, if the company does not have saved credit cards, the option will be disabled.
    • Case 2
      • Make sure you are on an order that has a saved credit card → go to pay that order → click the option ‘Saved Credit Card’ → you should see type, payment amount and payment method → you should be able to select either SALE or AUTHONLY → you can input an amount or leave blank → you should be able to select one of the saved payment methods → click pay and then upon success, you should see the icon turn green.
  62. KOD-25681: Commissions - UX updates and fixes
    • Tests
    • Case 1
      • Navigate to the Commissions screen in the operational portal.
      • Create a new Commission and select the date from the calendar for Begin Date.
      • Edit the newly created Commission and modify the Begin Date.
      • Expected Result: The Begin Date is created and updated successfully without any errors.
    • Case 2
      • Navigate to the Commissions screen in the operational portal.
      • Create a new Commission by adding Company Code and Product Code using the autocomplete feature.
      • Edit the newly created Commission and modify the Company Code and Product Code again using the autocomplete feature.
      • Expected Result: The fields are created and updated successfully without any errors, and autocomplete works as expected.
    • Case 3
      • Navigate to the Commissions screen in the operational portal.
      • Observe the order of columns in the data grid.
      • Verify that the following columns appear in this exact order:
        • Amount
        • Product Code
        • Company Code
        • Customer Code
        • Begin Date
        • End Date
        • Percentage
      • Check that “Commission ID” is not displayed in the default view of the data grid.
      • Verify that “Commission ID” can still be added manually by the user if needed.
    • Case 4
      • Navigate to the Commissions screen in the operations portal.
      • Сheck filter in the following columns:
        • Company Code
        • Product Code
        • Product Group Code
        • Begin Date
        • End Date
      • Verify that the data grid updates according to the applied filters.
      • Clear the filters and confirm the grid returns to the unfiltered view.
  63. KOD-25683: Commissions - Add server side import export function to screen
  64. KOD-25690: Operations Portal configuration tweaks
    • Regression Tests
    • Case 1
      • On the operations portal navigate to the ‘Products’ screen.
      • Move to the ‘Data’ Tab.
      • Confirm Tab is displayed properly and data is loaded as expected.
    • Case 2
      • On the operations portal → Products → Data apply:
      • Filters
      • Search
      • Sorts
      • Adding columns
      • Removing columns
      • Confirm all actions performed as intended.
    • Case 3
      • Navigate to the product detail page.
      • Confirm page is loaded properly.
      • Change any value and refresh the page.
      • Confirm the changes were applied and saved.
      • Look for the “Primary Category” field.
      • Change this value and refresh the page.
      • Confirm the field displayed properly and displays right value.
    • Case 4
      • On the operations portal navigate to the ‘Data’ tab under ‘Products’ screen.
      • Select any product and navigate to it’s detail page.
      • Move to the “Related Product Tabs”.
      • Confirm page is loaded properly and data is displayed as expected.
      • Add product as the related one.
      • Confirm a new product has been added.
    • Tests
    • Case 1
      • On the operations portal navigate to the ‘Products’ → ‘Data’.
      • Add “Product Type” column.
      • Double click on the that’s column cell.
      • Confirm there is dropdown with the following values:
        • None
        • Configurator
        • ConfiguratorVariant
        • ProductLine
      • Select any of these (except “None”) values.
      • Confirm values are set up properly.
      • Refresh the page and confirm changes were applied.
      • Confirm after changing the value to “None” the cell vipes out.
    • Case 2
      • On the operations portal navigate to the ‘Products’ → ‘Data’ and select any product.
      • Navigate to its details page.
      • Confirm on the top level there is “Product Type” field.
      • Click on this field and confirm that the fields contains one of the following options:
        • None
        • Configurator
        • ConfiguratorVariant
        • ProductLine
      • Select any value (except None), refresh the page and confirm value was set properly.
      • When setting Value to “None” confirm fields get viped out.
    • Case 3
      • From the Product detail page navigate to the “Related Products” tab.
      • Double click on the cell under the “Type” column.
      • Confirm that the value ConfiguratorVariant is displayed.
      • Navigate to the settings screen.
      • Search for ‘relatedProductTypes’ setting.
      • Confirm values from that dropdown also displayed from the dropdown.
  65. KOD-25691: Ensure all configurator options are filled in before adding to cart
    • Regression Tests
    • Case 1
      • Confirm that the search, category, and product pages load without issues.
    • Case 2
      • Confirm that products with a configurator have a "View Details" link that leads to the product page, and otherwise display an "Add to Cart" button that adds the item directly to the cart.
    • Case 3
      • Confirm that if you open a product without a configurator, the "Add to Cart" button works as expected.
    • Case 4
      • Confirm that if you open a product with a configurator and click "Add to Cart", you are redirected to the login page.
    • Tests
    • Case 1
      • Confirm that if you open a product with a configurator while logged in and click "Add to Cart", a native browser alert appears prompting you to select configurator options, and only then will the "Add to Cart" function work.
  66. KOD-25696: Main Ticket View-Indication of Attachment Created From Ticket 23162
    • Regression Tests
    • Case 1
    • For this test, we should go to the Tickets screen.
      • Make sure that everything loads properly when the ticket has and doesn’t have Customer and Internal Files.
    • Tests
    • Case 1
      • For this test, we should go to the Tickets screen.
      • Now, when we see the Customer Files and Internal Files tabs, we should see a badge with the number of files of each type.
      • Try attaching Customer and Internal Files. The values should update accordingly when you add or delete file items.
  67. KOD-25699: Pull item unit
  68. KOD-25706: Add slice option to sku and order list and payment list endpoints
  69. KOD-25709: Ticket Response in Email Issues Created From Ticket 23064
  70. KOD-25710: Display Price Breaks on PDP
    • Regression Tests
      • Navigate to the website.
      • Open any product that does not have priceBreaks.
      • Verify that no price breaks list is shown on the product page.
    • Tests
    • Case 1
      • Navigate to the website.
      • Open any product that has non-empty priceBreaks.
      • Verify that the price breaks list is displayed correctly.
      • Verify that the price breaks list is still displayed properly across all screen sizes.
  71. KOD-25717: Ticket #166 - Created From Ticket 23331
  72. KOD-25719: Ticket #165 - Created From Ticket 23379
  73. KOD-25736: Ticket #175 - Google Tag Manager/Microsoft Clarity/Google Analytics
  74. KOD-25739: Ticket #170 - Tool & Safety page update
  75. KOD-25740: Ticket #172
  76. KOD-25743: processDefaultEmail interceptor scope fix
  77. KOD-25745: Account Activation Emails - Missing Button
  78. KOD-25747: Make created field sortable and filterable for productPrice entity
    • Tests
    • Case 1
      • Go to the Pricing screen on the operations portal and check if "Created" field is sortable.
  79. KOD-25748: Ticket #188 - Customer portal update
  80. KOD-25757: Related Products Limit
  81. KOD-25761: Add customer catalog product patch endpoint that takes product code
    • Tests
    • Case 1
      • You need to access swagger and PATCH to /api/account/companyProductCategory/{companyProductCategoryID}/product/byCode/{productCode}
      • Also, you can send savedQuantityToOrder as the json parameter. After executing, check if the parameter you patched was returned with the value you sent.
  82. KOD-25778: Implementation - Spin up system
  83. KOD-25779: Implementation - Spin up system
  84. KOD-25787: Add a medium length field to the product entity called productDisplayType
  85. KOD-25789: Implementation - Install Applications
  86. KOD-25796: Implementation - Install applications
  87. KOD-25807: Fix reset password checks for expiration
    • Regression Tests
    • Case 1
      • If the user is locked out, when trying to log in, it should not be able until the field lockedoutUntil is lower than the current date.
      • For replicating this scenario we need to lock an employee out and try to log in after that.
      • No matter how many times we hit the login button the result should be the same.
    • Case 2
      • If the administrator user password has already expired, you should not be able to log in.
    • Tests
    • Case 1
      • If the administrator user is locked out, we should be able to reset the password no matter when the user will be unlocked.
      • So, for creating this scenario just lock out the administrator user by failing the password a few times and then reset the password.
      • You should be able to reset it and log in again.
    • Case 2
      • When resetting a password, it doesn’t matter that your user has a password expiration date, you should be able to reset your password.
      • However, this should not apply when logging in (see regression test).
      • The password will expire in passwordExpirationInDays days (setting).