New Password Policy Configuration Screens Now Available in Operations Portal
The Operations Portal now includes dedicated Password Policy Configuration screens that allow administrators to centrally manage password requirements for both customers and employees.
The configuration options include setting previous password checks to prevent reuse, requiring special characters and alphanumeric combinations, defining minimum password length, and establishing password expiration periods.
This feature is now live in the Operations Portal. For a complete walkthrough of the configuration options, view the full demonstration video.
https://youtu.be/Ip7Euy7F3-A
Tickets
KOD-24149: App showing empty when trying to filter by city
Tests
Case 1
Go to the companies screen.
Press on the map icon on the top right of the screen.
Regular methods to control maps should work as expected. For example:
Center map on user’s location.
Zoom in.
Zoom out.
Moving the map view.
Case 2
Searching by text on the map should work in the same way, as on the grid, but the results should be displayed on the map directly.
Case 3
Search here action on the top center should take current boundaries of the map and perform a search within these boundaries.
Case 4
Using grid icon to return back to grid should return you to the grid without changing found companies. Basically, if you “searched here” within the map, it should be reflected on the grid too.
This should work visa-versa. After filtering something within the grid, switching to the map should show every location found, which have coordinates attached to it. Locations without coordinates are ignored.
Case 5
After searching with “Search Here” and switching to the grid, you should see the “remove location“ icon as one of the actions. This action will dismiss a special filter that was applied by “Search Here” within the map.
Case 6
Change page size and marker amount should work in a similar way across map and grid views.
KOD-24236: Surface Statement PDFs in Customer Portal - Self Serve
KOD-26927: -99 Invoices not emailing to customers
KOD-27479: Search Collections
KOD-27744: Enter Card to Pay Open Invoices but don't Vault
KOD-28057: Product Configurator
KOD-28117: Shipping fees and calculations - Next steps
KOD-28261: Roll out the latest Product Configurator updates to all customers
KOD-28410: Add Slider & Number to PDP
KOD-28420: Kodaris - Credit App - Ability to add financial accounts to company
KOD-28422: Company not Showing ACH & Web Users as Yes Created From Ticket 39461
Tests
Case 1
Validate Web Users and ACH Payments columns on the search tab from Company screen are properly calculated when only one customer has roles companyAdmin and/or accountsPayable associated by Group Role.
Pre-requirements:
A company with only one customer who belongs to Group Role that contains any of these roles companyAdmin , accountsPayable.
Steps:
From the Operations portal go to Companies and select the tab Search.
The company who has customer defined in the pre-requirements sections must have column Web Users and ACH Payments set according the next rules:
ACH Payments: If the group role contains role accountsPayable , value must be Yes otherwise it must be NO.
Web Users : If in the group role contains any of the roles accountsPayable or companyAdmin , value must be Yes otherwise it must be NO.
Case 2
Validate that in Companies > Company > Customers screen the roles added by Group Roles are properly displayed in the customer records.
Pre-requirements:
A customer who belongs to Group Role and also have roles assigned directly
Steps:
From the Operations portal go to Companies.
Go to the company details.
Go to the Customers tab.
Make visible roles columns.
You must be in the customer’s roles list which also includes the roles assigned through a Group Role.
KOD-28508: Kodaris Mobile App - Emailing Orders Error Created From Ticket 40198
KOD-28540: Kodaris Dev Examples: Search Filters
KOD-28565: Load options to a product configurator based on all related products
Regression Tests
Case 1
Check if the products are loading correctly. Regular ones and configurator.
Tests
Case 1
Check if the product displays all variants from related products options.
Check time for loading the product page if it has more than 100 results.
KOD-28578: New parser from Ticket 40622
KOD-28579: New parser from Ticket 40620
KOD-28712: Product Configurator Attribute and Option Sorting Functionality
Regression Tests
Case 1
Go to the Operations Portal PIM → Filter categories. Select a category.
On the single category Detail page try to change “Position” property.
Check that everything is saved properly.
Tests
Case 1
On the test website find the product that has some filters on the page.
Go to the Operations Portal PIM → Filter categories. Find these filters in the Filter categories.
Try to change filter categories “position” property in the table to make the new order of filters.
Go to System → Scheduler. Find SolrReindexJob. Run it manually by clicking on the running man icon on the right side of the row.
Go to the website product page. Reload it and check that the order of filters was changed.
Case 2
Select one of the Filter categories of the product.
Go to PIM → Filter categories, select this specific category.
Go to the Attributes tab of this category.
Try to change order of attributes by clicking “Edit” icon on each attribute and changing “Order” value in the modal form.
Go to System → Scheduler. Find SolrReindexJob. Run it manually by clicking on the running man icon on the right side of the row.
Go to the website product page. Reload it. Then open the right category select and check that the order of options was changed.
KOD-28724: Confirmation email & logo
Regression Tests
Case 1
Open the website.
Log in.
Add products to the cart.
Go to the checkout page and fill in the form using your test email.
Place the order.
Check your email inbox and verify:
The email template displays correctly.
The sender email address is correct.
The logo renders properly.
Additional Note:
Test the email in multiple email clients (Gmail, Outlook) to ensure correct logo rendering.
This regression test confirms that issues previously fixed in the first website are also resolved here.
Tests
Case 1
Open the website.
Log in.
Add products to the cart.
Go to the checkout page and fill in the form using your test email.
Place the order.
Check your email inbox and verify:
The email template displays correctly.
The sender email address is correct.
The logo renders properly.
Additional Note:
Due to previously reported issues with logo rendering in Microsoft Outlook, validate the email on multiple services (e.g., Gmail, Outlook).
Ensure the logo displays correctly across all tested email clients.
Case 2
Open the Operations Portal.
Navigate to the Order screen.
Select any order.
Click on “Configure Email”.
Send the email to your test email address.
Verify:
The logo is displayed correctly in the received email.
The email was sent from the correct company address.
Ensure that the company is successfully saved in the ERP.
Ensure that the company's shipping address is successfully saved in the ERP.
Tests
Case 1
Ensure that when saving the company in ERP, the fields are mapped from the postal code table to the corresponding CSD fields, as shown below:
Ensure that when saving the company's shipping address in ERP, the fields are mapped from the postal code table to the corresponding CSD fields.
KOD-28790: Start syncing data
KOD-28798: Make the shipto defaulted on the user level
Regression Tests
Case 1
Test switching a company on the customer portal still works.
Confirm that the default company address is selected properly when switching a company.
Tests
Case 1
For the company, where your current customer is located, take the code of some active address under this company.
Use this code in the endpoint /api/account/customer/defaultCompanyAddress.
Test two cases:
Switching to child company and back should apply address, you used for step 2
Logging out and logging back in should apply to the same address.
Case 2
Test security of the endpoint: /api/account/customer/defaultCompanyAddress
You should not be able to select company addresses from other companies.
You should not be able to select inactive addresses.
If the customer does not have any of those roles, "companyAdmin", "editAllLocations", "viewAllLocations" , the customer should have access to assigned company addresses only. Confirm if it is working correctly.
Case 3
Test updating defaultCompanyAddressCode via /api/system/customer/{customerID}
Confirm it has proper validation.
If the customer has access to the company address, it should be assigned.
If the customer does not have access to the company address, it should fail with next error:
User does not have permissions for this company address.
KOD-28802: CRM questions and additional updates
KOD-28809: Replatform - Order & Invoice Display - PDF that is generated Created From Ticket 41566
Regression Tests
Case 1
Confirm that the PDF template loads correctly, that we can see its content with data, and that there is no white screen or errors.
Tests
Case 1
Confirm that the Due Date is present in the template.
Case 2
Confirm that after Subtotal we display the label Shipping , not Freight.
Case 3
Confirm that the Add’l Charges section before Subtotal is not displayed.
KOD-28825: Punchout Base Setup
KOD-28837: Freight Handling for Specific Customers
Regression Tests
Case 1
Please test that the order still is released to ERP successfully.
Case 2
Please test that we do send the shipping price to ERP in addonAmount2 field (please refer to test case 3).
Tests
Case 1
Customers who pay actual freight :
Set user1 field to yes on the company under which you’ll place the order.
Check if the shipping amount is still displayed for these customers.
Place order with ['9.95', '12.95', '34.95', '69.95'] one of these shipping prices and release to ERP.
Check SX_OrderChange event under system events tab on order and see if the addonAmount5 and addonNetAmount5 fields don’t have shipping price.
In the same event check if the pmFlag is true.
Case 2
Customers with prepaid freight :
Make sure user1 field is empty on the company under which you’ll place the order.
Add the company code to the freeShipping discount companiesAppliesValue.
Check if shipping amount is not displayed for these customers.
Place order with any one shipping method and release to ERP.
Check SX_OrderChange event under system events tab on order and see if the addonAmount5 and addonNetAmount5 fields don’t have shipping price.
In the same event check if the pmFlag is false.
Case 3
Companies that does not belong to any of types above :
Make sure user1 field is empty on the company under which you’ll place the order.
Make sure the company code is not added to the freeShipping discount companiesAppliesValue field.
Check if shipping amount is displayed for these customers.
Place order with any one shipping method and release to ERP
Check SX_OrderChange event under system events tab on order and see if the addonAmount2 fields have shipping price.
In the same event check if the pmFlag is true.
Case 4
Punchout order ( order should be created from the operations portal).
We cannot do a real test, but we can test the pmFlag by adding the isPunchOutOrder setting.
Add the setting isPunchOutOrder with integerValue and the value should be 1.
Select any shipping method.
Release order to ERP.
Check SX_OrderChange event under system events tab on order and see if the pmFlag is true.
KOD-28853: Missing Shipping Options
KOD-28854: In Stock Hover Message
Regression Tests
Case 1
Go to the catalog page.
Dive into some catalog.
Check if in stock message is displayed correctly.
Check if filters are working correctly.
Tests
Case 1
Check if there is a “local branch” displayed instead of a “warehouse” filter.
Check if tooltip is displaying the message from description.
Check if everything is looking and working fine on mobile.
KOD-28868: Order / Invoice Documents Additional Tweaks
KOD-28873: Update repository to include quote payments
Regression Tests
Case 1
Verify that order creation is working correctly.
Verify that standard payment methods are working correctly.
Verify that there are no issues when selecting a payment method in the console.
Ensure that the checkout functionality is working correctly.
Ensure that the layout is not broken during checkout.
Tests
Case 1
Make sure that the Save Quote checkout option only appears for customers with any shipto and with the "enableCustomerQuoteRequestInCart" setting enabled.
Make sure that if the setting is inconsistent (either enableCustomerQuoteRequestInCart networking is disabled or user log out on the website), the Save Quote checkout option does not appear.
Verify that the Save Quote checkout option is working correctly by clicking "Save a quote"; the status is 200 OK.
Check that after clicking on “Save a quote“ we have a new item on the Cash Quotes page in the Operation Portal.
Check that after clicking on “Save a quote“ we have a new item on the Quotes page in the Customer Portal.
Make sure there are no errors in the console on the checkout page related to adding the new Save a Quote payment option.
After creating a quote, ensure that the template on the website matches the template on the Quotes page in the Customer Portal.
Make sure the default Cash Quote status after creation is "Quote in Process." On the Quote Details page in the Customer Portal, we see two options in the "More" dropdown: "Attach File" and "Print."
Verify that after changing the quote status in the operational port to "Quote Pending," three options are visible in the "More" dropdown on the Quote Details page in the customer portal: "Attach File," "Print," and "Accept Quote."
Verify that when clicking "Accept Quote," the user is redirected to the website's cart page. No errors are displayed in the console.
Verify that the "Place order" buttons are available for the "Account" and "Card" payment methods.
Verify that the "Place order" buttons are not displayed for the "Save as a quote" payment option. The method is selected by default.
KOD-28875: Please include inactive products in export to data lake
KOD-28879: Order with return available
KOD-28885: BI Update Engaged Customer Count to Sales in Last 6 months Created From Ticket 41577
KOD-28888: Push Kodaris Identifier on Order Import
Tests
Case 1
Update interceptor as provided in the comment.
Place an order.
On the Event screen look for the event type - MappedPayload-syncOrders after you placed the order.
Check if user2 field was populated with “Kodaris“ value.
KOD-28894: Remove Ability to Check Out with Purchase Order
KOD-28896: Implement Product Configurator
Regression Tests
Case 1
Open product list.
Find a regular (non-configurable) product.
Confirm the “Add to Cart / Add to quote” button is displayed.
If the product contains a price: the price is displayed normally.
If the product price is still loading or being calculated: the “Calculating price…” string is displayed instead of the final price.
Case 2
Confirming that our list looks good in list view, grid view, and catalog view.
Case 3
Click Add to the Cart.
Go to cart.
Confirm product is added.
Confirm description is correct and properly displayed.
Tests
Case 1
Open product list.
Find a product with a configurator.
Confirm “View Details” button is displayed instead of “Add to Cart/Add to quote”.
Confirm product photos look the same as for regular products.
Click View Details.
Confirm you are redirected to the product details page.
Confirm 'Calculating price' is not displayed for configurable products.
If product contains price: confirm price is displayed.
Case 2
Confirming that our list looks good in list view , grid view , and catalog view .
Case 3
On the product details page confirm configurator fields exist.
Confirm selected options match what was chosen in the configurator.
Case 4
Select a valid combination.
Confirm invalid options are light gray.
Select an invalid combination.
Confirm invalid selection is auto-adjusted to a valid one.
Case 5
Open dropdown.
Click outside.
Confirm dropdown closes.
Open dropdown again.
Navigate using Arrow Up/Arrow Down.
Press Enter to select the value.
Confirm value is changed (selected).
Open dropdown again.
Navigate with arrows but do not select any option > click Add to Cart.
Confirm value stays unchanged.
Case 6
Open product with configurator.
Confirm that at least one selection field already has its first default value.
If for any reason the product does not have default selected variants (can happen if product variants were added incorrectly to the configurator) > click Add to Cart and confirm product is not added to cart.
The test cases are the same for every repo.
KOD-28903: Support /api/user/product/search to retrieve files link
Tests
Case 1
Validate endpoint /api/user/search/product is working find with the new includeMediaFileLinks param.
Go to swagger and look for the endpoint /api/user/search/product under Search API section.
In the body paste a JSON like the one below.
Click on the Execute button.
If includeMediaFileLinks is true those products which have media files will have a mediaFileLinks field populated with the basic information of their media files, otherwise this field will be an empty array.
KOD-28908: New parser request Created From Ticket 42672
KOD-28917: Updates to Customer Facing Analytics
KOD-28929: Limit PO Field at Checkout to 22 Characters
Regression Tests
Case 1
Go to the commerce site and follow the checkout process.
Make sure nothing breaks when reloading the screen with the purchase order field filled or empty.
Tests
Case 1
Go to the commerce site and follow the checkout process.
The Purchase Order field should be a character limit of 22.
KOD-28937: Support Store Credit Tied to ARSC Account
KOD-28939: Add or automate data grids for open search UX
Regression Tests
Case 1
Make sure that the system menu looks correct.
Ensure that the Business Events screen is functioning correctly.
Tests
Case 1
Ensure that a new section appears in the menu - “OpenSearch.”
Ensure that the grid of the selected index is displayed on the “OpenSearch” screen (selector in the toolbar).
Make sure that the selected grid consists of fields from the OpenSearch mapping.
Make sure that the first 10 fields are taken from the OpenSearch mapping, and also make sure that fields can be enabled and disabled in the grid.
Ensure that pagination works correctly on all OpenSearch grids. Also on the Business Events screen.
KOD-28958: Vendor Invoice Infrastructure Parser
KOD-28966: Product Search Updates
KOD-28970: Need to ensure return reasons flow through to SX
Ensure that only the settings values from the “Customer Configuration” and “Employee Configuration” screens are changed.
Tests
Case 1
Make sure that two menu items have been added: “Customer Configuration” and “Employee Configuration”.
Ensure that the password policy settings are successfully changed from the “Customer Configuration” screen.
Ensure that the password policy settings are successfully changed from the “Employee Configuration” screen.
KOD-28986: Kodaris Dev Examples: Additional examples for ticket
Tests
Case 1
In the Pull Request open the file serverside-api/system/ticket/assignee-post.js
Copy the code example from this file.
Log in the Operations Portal, and open the User Scripts page .
Create a new script or open an existing test script, then paste the code example. Remember to use a valid administratorID .
Click save.
Open the Logs page in a new tab.
Back to the user script, then click Run.
Check the Logs page: it should return a response compatible with the call parameters and similar to the related example response.
All the test cases should follow these same steps.
KOD-28989: Kodaris Dev Examples: Category Languages Entity
KOD-29008: Implementation - Taxes
KOD-29015: Cash / COD version of credit application doesn't submit properly
Regression Tests
Case 1
Create a new credit application.
Navigate to the spcu/credit-application-register page.
Provide your test email and click the submit button.
Confirm you have received email.
Click on the button from the email.
Confirm navigation to the Set Credit Application Password page.
Provide password and log in.
Confirm credit application is blank and loads as expected.
Case 2
Fill in values for Cash/COD application.
Confirm required fields needed to submit a credit application.
Submit a form.
Confirm you were redirected to a “Thank you page”.
Case 3
Repeat steps from case 1 and 2, but for Credit Account type.
Tests
Case 1
Repeat steps from regression test 1.
Select Cash/COD preferred payment method.
Select “Credit Account” preferred payment method.
Select Cash/COD preferred payment method
Repeat steps from regression test case 2.
Case 2
On the operations portal locate the account from the previous test case.
Navigate to its detail page and change “Status” from “Applied for a Credit” to “Applying for a Credit”
From the “Thank You” credit application page, move back to the credit application form.
Change Preferred payment method to “Credit Account”.
Complete the form filling in all required fields.
Confirm the form is properly submitted.
Case 3
Create a new Account Application (Steps from regression test case 1).
Select “Cash/COD” → “Credit Account“ → “Cash/COD” and refresh the page.
Confirm all previously required fields are still required.
Repeat all this steps for “Credit Account”:
Select “Credit Account” → “Cash/COD“ → “Credit Account” and refresh the page.
KOD-29024: Updates when orders released into CSD
Tests
Case 1
After updating the interceptor, place an order and release to ERP.
On the Event screen look for the event type - MappedPayload-syncOrders after you placed order.
Check if placedby field was updated with customer email who placed order - you can check how it looks on comment section.
KOD-29052: Import Proof of Delivery from Infor/IDM
KOD-29054: Check and update UX templates
KOD-29055: Implementation - ERP Configuration
KOD-29073: Enable Paging & Update Date Filter
Tests
Case 1
Check that you can now page through the results for both the Spend and Usage pages.
Check that you can go to next and previous pages, if you select filters the paging resets, and if you try different combinations of filtering and paging, nothing wonky happens.
Case 2
Check that the date filters on both pages have been converted to: Start Date End Date.
Check that the results get filtered if you select both dates, only start date or only end date.
KOD-29076: Pricing Records Issue When Created from Quote
KOD-29089: Card Checkout Improvement
Regression Tests
Case 1
For this regression test, make sure you are able to place an order paying with a card when the card information is correct.
Tests
Case 1
For this test, you need to add to your cart a valid product (that has a price higher than $0 and is not marked as quote only).
Go through the order placement process and once you get to the Delivery Payment tab, scroll down to the Pay with card panel and click the Place Order button without filling the Card Form.
You should see a “Something went wrong, please try again or contact support” error message right below the card form.
This error should disappear if you change from a New Card to a saved card if you have one.
Also, if you try placing the order with an already saved card but the form submission returns an error, you should also see the error message right below the card form.
No other error message at the top of the page should be shown.
KOD-29094: Product Redirect on code with space in it
Regression Tests
Case 1
Validate product redirect search rule for productCode pattern continue working as before when Minimum Match is blank or search rule it’s inactive
From the operation platform go to Tuning → Product Redirect screen and inactivate the rule for productCode pattern.
Repeat Case 1 from the main tests.
In this case you must not be redirected to the product details instead you must see the search result screen with you product card(s)
Repeat this test but this time re-activate the rule and clear the minimumMatch, the result must be the same
Note: Minimum match is a readonly field so it cannot be set from UI, you can be cleared by executing endpoint PATCH - /api/system/searchRule/{searchRuleID} from swagger with a payload like the one below.
Case 2
Validate product redirect search rule for supercedesOrReplacement pattern continue working as before when Minimum Match is blank or search rule it’s inactive
From the operation platform go to Tuning → Product Redirect screen and inactivate the rule for supercedesOrReplacement pattern.
Repeat Case 2 from the main tests.
In this case you must not be redirected to the product details instead you must see the search result screen with your product card(s).
Repeat this test but this time re-activate the rule and clear the minimumMatch, the result must be the same.
Minimum match is a readonly field so it cannot be set from UI, you can set it by executing endpoint PATCH - /api/system/searchRule/{searchRuleID} from swagger with a payload like the one defined in regression test Case 1.
Case 3
Validate product redirect search rule for productManufacturerProductCode pattern continue working as before when Minimum Match is blank or search rule it’s inactive.
From the operation platform go to the Tuning → Product Redirect screen and inactivate the rule for productManufacturerProductCode pattern.
Repeat Case 3 from the main tests.
In this case you must not be redirected to the product details instead you must see the search result screen with your product card(s).
Repeat this test but this time re-activate the rule and clear the minimumMatch, the result must be the same.
Note : Minimum match is a readonly field so it cannot be set from UI, you can set it by executing endpoint PATCH - /api/system/searchRule/{searchRuleID} from swagger with a payload like the one defined in regression Case 1.
Case 4
Validate product redirect search rule for customerProductCode pattern continue working as before when Minimum Match is blank or search rule it’s inactive.
From the operation platform go to the Tuning → Product Redirect screen and inactivate the rule for customerProductCode pattern.
Repeat Case 4 from the main tests.
In this case you must not be redirected to the product details instead you must see the search result screen with your product card(s).
Repeat this test but this time re-activate the rule and clear the minimumMatch, the result must be the same.
Note : Minimum match is a readonly field so it cannot be set from UI, you can set it by executing endpoint PATCH - /api/system/searchRule/{searchRuleID} from swagger with a payload like the one defined in Case 1.
Case 5
Validate product redirect search rule for productUpcCode pattern continues working as before even if Minimum Match is blank.
According to discussion during development productUpcCode pattern were not affected by this change because it’s always expecting a number without spaces, therefore these rules must work the same disregarding if the Minimum Match is set or not.
Tests
Case 1
Validate product redirect search rule for productCode pattern is properly applying the regex set Minimum Match field.
Pre-requirements:
A search rule with:
Pattern : productCode
Minimum Match : ^.
{1,20}$
Active : Yes
A product with a code which has spaces in the middle. e.g.: 123 456
Go to the customer portal (no need to be logged in there).
Look by typing the full code of a product whose code has space in it.
You must be redirected to the specific product directly.
Note: Minimum match is a readonly field so it cannot be set from UI, you can set it by executing endpoint PATCH - /api/system/searchRule/{searchRuleID} from swagger with a payload like the one below.
Case 2
Validate product redirect search rule for supercedesOrReplacement pattern is properly applying the regex set Minimum Match field.
Pre-requirements:
A Product Cross Reference record with:
Alt Product Code: Must be a code with spaces in the middle. e.g.: Product 50.
Type: Must match the Action Data field from the rule.
A search rule with:
Pattern : supercedesOrReplacement
Minimum Match : ^.
{1,20}$
Active : Yes
Action Data: Must match with the product cross reference record type.
Go to the customer portal (no need to be logged in there).
Look by typing the full alt product code of a product whose alt code has space in it.
You must be redirected to the specific product directly.
Note : Minimum match is a readonly field so it cannot be set from UI, you can set it by executing endpoint PATCH - /api/system/searchRule/{searchRuleID} from swagger with a payload like the one defined in Case 1.
Case 3
Validate product redirect search rule for productManufacturerProductCode pattern is properly applying the regex set Minimum Match field.
Pre-requirements:
A search rule with:
Pattern : productManufacturerProductCode
Minimum Match : ^.{1,20}
Active : Yes
A product with a manufacturer product code which has spaces in the middle. e.g.: 123 612
Go to the customer portal (no need to be logged in there).
Look by typing the full manufacturer product code of a product whose manufacturer product code has space in it.
You must be redirected to the specific product directly.
Note : Minimum match is a readonly field so it cannot be set from UI, you can set it by executing endpoint PATCH - api/system/searchRule/{searchRuleID} from swagger with a payload like the one defined in Case 1.
Case 4
Validate product redirect search rule for customerProductCode pattern is properly applying the regex set Minimum Match field.
Pre-requirements:
A Product Cross Reference record with:
Alt Product Code: Must be a code with spaces in the middle. e.g.: Product 15
Type: web_customer.
Company Code: a company code the user logged into customer portal has access to
A search rule with:
Pattern : customerProductCode
Minimum Match : ^.{1,20}$
Active : Yes
Go to the customer portal and log in.
Look by typing the full manufacturer product code of a product whose manufacturer product code has space in it.
You must be redirected to the specific product directly.
Note : Minimum match is a read-only field so it cannot be set from UI, you can set it by executing endpoint PATCH - /api/system/searchRule/{searchRuleID} from swagger with a payload like the one defined in Case 1.
KOD-29103: AP - Map Order Minimum Fee to Handling CSD Add-on
KOD-29110: Add disclaimer to the saved cart
Regression Tests
Case 1
In the customer portal go to the orders screen.
Check that the disclaimer is not shown for orders with a status other than ‘saved’.
Tests
Case 1
Check if disclaimer is displayed on the orders with status “saved“ on the customer portal.
KOD-29112: Upgrade process
KOD-29115: Parser request
KOD-29118: Delete Functions need Confirmation
Regression Tests
Case 1
If you go to any data grid, if you click to delete unselected rows, make sure the popup still shows like normal and warns you before deleting.
Tests
Case 1
On any screen with a data grid where you can delete rows, select some rows to delete → select to delete them (or use the short cut) and now a popup should appear asking the user if they are sure they want to delete the rows → click cancel and the popup should close and the rows should not have been deleted.
Case 2
Go to delete a selected row again → the popup should appear again → now click delete → it will delete the rows selected → now if you go to delete some more, the popup should appear again.
Case 3
You also have the option to not show the popup again: Check the box to not show the popup again → then click delete → the rows should have been deleted → now go to delete some more rows → you should not get the popup anymore.
KOD-29158: CSD warehouse data syncing
KOD-29165: Add an API for exchanging Payment Token details
KOD-29167: Check Incorrect Balance Calculation Additional Example
Regression Tests
Case 1
Check that you can still generate a pdf on an order with the automatedInvoicePDF-EJS template without issues.
Tests
Case 1
In the example order provided in the ticket description, generate the automatedInvoicePDF-EJS template and check that the totals are now correct.
KOD-29180: Parser Created From Ticket 39073
KOD-29206: Provide Functionality for Direct Orders
KOD-29213: Hide Cono from Company Code on the website
Regression Tests
Case 1
For this regression test, make sure the home and cart pages load properly when the user is logged in and not logged in.
Tests
Case 1
For this test, log into the commerce site as a customer.
In the header bar, the company code should not be followed by an underscore or any other characters anymore.
Make sure to check both desktop and mobile versions.
Make sure to also check this on the autocomplete on the header, and in the Cart - Location tab - Shipping address.
KOD-29218: Ecommerce feature setting request - Language menu visibility
Regression Tests
Case 1
Make sure the Quick Order button is still hidden when the contentOnly setting is on and that the layout looks okay.
KOD-29221: Include Unapplied Cash on Open Invoices
Regression Tests
Case 1
Check open invoices screen works as expected.
KOD-29230: Parser request
KOD-29231: Featured Products Tiles on Home Page Not Showing
KOD-29232: Default Owner File Upload Issue
Regression Tests
Case 1
On the credit Application form the Owner form is displayed for Credit Account.
Add more owners.
Upload files for owners you’ve added.
Refresh the page.
Confirm added owner forms and initial owner forms are displayed.
Upload file for initial owner form.
Confirm file is uploaded by refreshing the page
Remove the initial owner form and refresh the page.
Confirm other owner forms are displayed.
Tests
Case 1
On the blank Credit Account order form locate the initial owner.
Upload it’s driver License.
Confirm file is uploaded properly by refreshing the page.
KOD-29234: Kodaris - Internal FAQ - Delete Rows
Tests
Case 1
Select any deletable value(s) (answer or status).
Go to Edit > Delete selected value.
Confirm the value was deleted successfully.
Case 2
Select any row(s).
Go to Edit → Delete selected rows.
Confirm the rows were deleted successfully.
Case 3
Select some rows, leaving unselected only the row(s) you want to delete.
Go to Edit → Delete unselected rows.
Confirm the unselected row(s) were deleted successfully.
KOD-29235: Using Quantity Shipped on Returns update
Tests
Case 1
Check if a new error message appears when the shipping quantity is NOT greater than 0.
KOD-29236: Add Subtitle Column to Pages > Data Grid
Regression Tests
Case 1
Ensure that the Pages search grid looks and functions correctly, that we can display fields, hide fields.
Ensure that the detail page looks and functions correctly.
Tests
Case 1
Ensure that we have changed the field name from “Subtitle” to “Page Title” on the search grid and detail page.
KOD-29240: Carousel and hero/banners - CSS breakpoint for large monitors
Regression Tests
Case 1
Ensure that the carousel and hero/banners appear and function correctly.
Tests
Case 1
Ensure that images are not cropped and content is readable on large screens in carousels and hero/banners.
KOD-29241: Kodaris - Add Index to Cross Reference Type Field
Regression Tests
Case 1
Confirm that Cross References are loading correctly on the operations portal.
Tests
Case 1
Try to filter by some columns on the Cross References table. Confirm, loading is fast.
KOD-29242: Ticket product list not updating with program name from PIM cross reference
KOD-29244: Kodaris - Display the Internal FAQs in the operations portal knowledge base
KOD-29245: Fix the bug with empty cart
KOD-29247: Kodaris Invoices
Regression Tests
Case 1
Create an order from ecommerce site that has at least one Core product. This will end up adding one extra item to the cart with type ‘CORE’. Also, it could end up adding KIT products marked as inactive that you will only see in the Operations Portal.
Add another item after that core product.
How to identify a Core product:
Any product available to buy that has the productType = R.
Once you find that product, there should be a setting under that product called ‘ impliedcoreprod ' which makes reference to the 'core product’.
After creating the order, release it to the ERP.
Wait about 10m after the ERP syncs back.
You can validate that the ERP syncs back because you can see the OrderItem settings and confirm the ‘trendCompileSettings’ is there.
You can also see that the trendCode was a number before and then it is supposed to be replaced with the actual item code.
Confirm that everything looks good and print the order pdf.
Validate that all the items that went to the ERP have the setting ‘trendCode’ after that and the value matches the same sequenceNumber that went to the ERP.
Validate there are no duplicates over there.
Case 2
Create an order with a few items on the commerce site.
Release the order to the ERP.
Wait about 10m after the ERP syncs back.
You can validate that the ERP syncs back because you can see the OrderItem settings and confirm the ‘trendCompileSettings’ is there.
You can also see that the trendCode was a number before and then it is supposed to be replaced with the actual item code.
Confirm that everything looks good and print the order pdf.
Validate that all the items that went to the ERP have the setting ‘trendCode’ after that and the value matches the same sequenceNumber that went to the ERP.
Validate there are no duplicates over there.
Tests
Case 1
Add a few items to the cart then some core charges and at least one item after the core charge item is added.
This is important to not have the core charges at the end of the cart and test all the flows.
Release the order to the ERP.
Validate that the sequenceNumber on the system event matches the trendCode for each of the items that went to the erp. (The other items might not even contain the trendCode).
Wait about 10m after the ERP syncs back.
You can validate that the ERP syncs back because you can see the OrderItem settings and confirm the ‘trendCompileSettings’ is there.
You can also see that the trendCode was a number before and then it is supposed to be replaced with the actual item code.
Confirm that everything looks good and print the order pdf.
Validate there are no duplicates over there in the operations portal nor in the PDF.
KOD-29249: Parser Setup Created From Ticket 22129
KOD-29250: Order Templates Update
KOD-29253: Replatform - Follow-up Order confirmation email to display shippingMethodName
Regression Tests
Case 1
Confirm that we can open the order confirmation email via the Operations Portal and that it loads correctly. We can see some fields and data in the email, not just a blank white screen.
Tests
Case 1
Confirm that when an order is created and not sent to CSD, or immediately after it is sent but before it comes back from CSD, the order confirmation email displays the shippingMethodName setting . If this setting does not exist, the email shows the selected shipping method code instead.
KOD-29252: Upload File Error
Regression Tests
Case 1
On checkout, select the upload file option.
Download the template for all three kinds of files.
Check that they now have the headers: Item #, Quantity, and Unit Sell.
Try uploading a file with those headers.
It should work correctly and add items to your cart with that item, quantity and unit.
KOD-29254: Issue with returns
Regression Tests
Case 1
The first case would be to confirm that consumer returns work properly as they did before:
Users can submit a return with available quantity (for one or multiple items).
Users can't submit quantities bigger than the quantity shipped.
Users can’t leave return items without a return reason.
Tests
Case 1
This would be the main case for this ticket. Currently, if the user tries to return multiple items and some of them are rejected by platform - the other items that were added before are not being removed, because we added them in parallel. This would then create confusion because users would think that nothing was added to the return, but some items were actually added. In this fix we clear the return of all items on submit to fix this.
Case 2
If the consumer return is not submitted yet - we should display the “Shipped Qty“ column near ordered qty, because the validation runs against it on the platform.
KOD-29259: Price Engine Issues
KOD-29262: View Details - Model Lookup not working
Tests
Case 1
Go to the spcu/lookup.
Search for a valid product.
Click on the View Details button.
Make sure the product’s panel opens correctly.
KOD-29264: Infor CSD Payments Token lookup for ROAs
KOD-29274: Add punch-out default setup and function
Regression Tests
Case 1
Сheck that the order is created successfully (by a guest user).
Сheck that the checkout page layout looks correct.
Сheck that there are no errors in the console while on the checkout page.
Tests
Case 1
Check that when a guest logs in, the “Pay with Punchout” section is not displayed on the checkout page.
Check that when a user logs in and cartService.isPunchOut() is enabled, the “Pay with Punchout” section appears on the checkout page.
Check that when clicking on “Place Order” in the “Pay with Punchout” section, a request is sent to /api/account/punchOut/cart.
Check that there are no errors in the console when clicking on “Place Order” in the “Pay with Punchout” section.
KOD-29275: Footer Color Change
KOD-29277: Checkout: Do not post Shipping Name and shipping phone into order notes
KOD-29278: Collecting customer feedback
Regression Tests
Case 1
For the regression test, make sure the following still happens after submitting the survey:
Make sure that an employee email is sent and that a ticket for the survey is created with the order number.
A setting should also be added on the order with the survey data.
Case 2
You should be able to close the survey without submitting it.
Case 3
If you place another order after submitting the survey, you should not see it appear again after placing it.
Tests
Case 1
For this test, we will go through the checkout process and place an order. When the survey appears, you should be able to submit the form after filling at least one of the fields in the survey.
You can try filling any of the three fields and submitting the form.
If you try to submit the form without filling out at least one field, you should see a Please fill out at least one question. validity error on the first field in the form.
The error should disappear after starting to type in any of the fields.
KOD-29279: Display Order Type to Customer
Regression Tests
Case 1
Make sure you can still load the orders screen in the customer portal.
Tests
Case 1
On the orders screen in the customer portal, you should now be able to see the Type column → add it and you should be able to see the ERP order types similar to the ops portal and can search/filter on that column.
Before a deployment, you can see the type column now as that was updated by a setting (customerOrderTypeEnabled ). Need the updates to be deployed in order to see the values in the column.
KOD-29281: Content - Remove Second Tab for Punchout users
Regression Tests
Case 1
As a guest user click on the Cart button.
Confirm redirection to the “Sign In” page.
Add product to the cart.
Confirm redirection to the “Sign In” page.
if setting “guestCheckout Enabled” is set to 1, you can confirm that the cart page lends on the “You shopping cart is currently empty” and products could be added to the cart.
Case 2
As logged in user navigate to the cart button.
Confirm “Your shopping cart is currently empty” page is rendered.
Add some products to the cart.
Confirm cart is loaded as expected.
Click the “Next” button.
Confirm redirection to the Location Tab.
Click the “Next” button again.
Confirm input of the billing and shipping addresses information is required.
Click the “Previous” button two times.
Confirm the user redirected to the proper page.
Click on the Tabs at the top.
Confirm redirection works as expected.
Tests
Case 1
As a punchout customer navigates to the cart page.
Confirm “Your cart is currently empty” page is rendered.
Add some products to the cart.
Navigate to the Cart page.
Click the “Next” button.
Confirm Second / “Location” tab is skipped.
Click on the “Previous” button.
Confirm that the first tab is opened as expected.
Click the “Next” button / “Payments” Tab.
Confirm that Second Tab is skipped.
KOD-29283: Pricing Issue
KOD-29287: Limit length of the field Purchase Order # to 21 characters
Regression Tests
Case 1
For this regression test, we will go to the commerce site and follow the checkout process.
Make sure nothing breaks when reloading the screen with the purchase order field filled or empty.
Tests
Case 1
For this test, we will go to the commerce site and follow the checkout process.
The Purchase Order field should be a character limit of 21.
KOD-29289: OA: New Customer Parser Setup
KOD-29293: OA: New Customer Parser Setup
KOD-29298: Update link on the footer
Tests
Case 1
Please test that in the footer we have the updated link for Return Policy on test and Terms and Conditions buttons on live.
KOD-29299: Spin up Dev URL
KOD-29302: Unknown UOM's being displayed in Commerce
KOD-29304: Created date in the customer portal orders tab not populating
Regression Tests
Case 1
Make sure the orders page on the customer portal still loads properly.
Tests
Case 1
On the orders page in the customer portal, add the created column → notice there should be data in there now in the format of mm/dd/yy and you should be able to also filter.
Case 2
Not related to the original issue in the ticket, but also added the extra1 field to whitelister →
Add the Type column and notice that there should be data in there now and you should also be able to filter.
KOD-29317: Add ability to pay Open Invoices by typing in card details
KOD-29324: Create Commerce Host
KOD-29327: Add ability to edit minimum match on product search rules screen
Regression Tests
Case 1
Make sure the product redirect page still loads on the search tuning tab.
Tests
Case 1
Add the minimum match column → now you should be able to edit the field → reload the grid and the update should stick.