Search without case-sensitivity in the customer portal
In the customer portal, customers can search order history, open invoices, shiptos, etc to find what they are looking for. In this release, we've enhanced the search to ignore case when searching. This means your customers can search using either lowercase or uppercase search terms and any matching results will display, regardless of case. Check out the video for a demonstration!
https://youtu.be/OFuTmlV500Y
Tickets
KOD-9632: Add delete functionality to sync services that do not have it
Regression Tests
Case 1
In the operations portal, run Import for the following entities:
Attributes
ERPSettings
BasicTaxRate
Category
Customer
Icss
Manufacturer
PricingType
ProductCrossReference
ProductPrice
Perhaps there isn't an import feature available from the frontend for all the mentioned entities. However, we should only verify the existence of the 'mapped-basic UploadCreateOnly' setting. Then we can use the general import. If there's no mapping, then there's no need for regression testing for that particular entity.
Tests
Case 1
We need to test the deletion functionality for all entities listed in the regression test. In this case, we will utilize the import feature to do so. To proceed, we simply need to execute a standard import process, ensuring that the import file contains two special columns:
isSourceDeleted → true.
sourceModifiedTime → YYYY-MM-dd hh:mm:ss:SSS
The value 'true' for the 'isSourceDeleted' column should not be enclosed within quotes, while the dateTime values for 'sourceModifiedTime' should be enclosed within quotes.
KOD-13948: Refactor SKU Service
Regression Tests
Case 1
Navigate to the operations portal and access Skus.
Export records and check if everything can be exported without any exceptions
Case 2
Access the Operations portal, navigate to Skus, and click on a specific SKU → Check the Custom fields section to ensure that settings and UI function without any exceptions.
KOD-14756: Solr errors dealing with naming of facet groups and dynamicFields
KOD-15976: Solr reindex tool needs to use same filtering as the job does
Tests
On a test system, this process can be QA'd by first ensuring that there is at least one order in the system that is NOT completed. This can be achieved by navigating to the Data tab for Orders in the portal and filtering by the completed column. For testing purposes, we just need at least one incomplete order.
Next, ensure that the order is not already in the Solr index by searching for it on the Search tab. It should NOT appear on that tab.
KOD-16432: Make Filters on Customer Order Screen Non Case-Sensitive
Navigate to Companies and open any company detail screen.
Check if switching between tabs works fine as expected. Changes of screen and highlights are required.
Tests
Case 1
Login to operations portal.
Navigate to Companies, choose one and go to it’s detail screen.
Switch to ‘Deposit’ tab.
Set amount, add any description and choose ACH payment method and proceed.
Case 2
Login to operations portal.
Navigate to the Companies section, select one, and proceed to its detail screen.
Switch to ‘Deposit’ tab.
Set amount, add any description and choose card payment method, enter CVV code and proceed.
Case 3
Login to operations portal.
Navigate to the Companies section, select one, and proceed to its detail screen.
Switch to ‘Deposit’ tab.
Set NaN amount that cannot be handled and choose any payment method and proceed.
Case 4
Login to operations portal.
Navigate to the Companies section, select one, and proceed to its detail screen.
Switch to ‘Deposit’ tab.
Do not set any amount and proceed.
Expected error message that amount cannot be empty.
Case 5
Login to operations portal.
Navigate to the Companies section, select one, and proceed to its detail screen.
Switch to ‘Deposit’ tab.
Set possible amount, do not choose any payment and proceed.
Expected error message that you have to choose payment method.
KOD-17653: Impl- Kickoff
KOD-17668: Add dashboard to analytics for new home page tracking
KOD-18561: Angular App View for B2C Users
KOD-18640: Payment methods
KOD-19007: Create server side export and import for Product Attribute Language API - BE
Tests
Case 1
Test export endpoint: /api/system/productAttributeLanguage/export
Test import endpoint: /api/system/mapped/any/file/{mappingCode}/{importType}/{fileType}
Test in three different ways:
basicCategoryLanguageUpload
basicCategoryLanguageUploadCreateOnly
basicCategoryLanguageUploadUpdateOnly
check page: operations/attribute-languages
KOD-19142: Display Unit Price for Back-Ordered Items
Regression Tests
Case 1
Add some products to the shopping cart and proceed to checkout to place an order.
Navigate to Orders → Ensure that the order is displayed correctly.
Tests
Case 1
Add products with 'directShipping' set to 'yes' and 'no' to the shopping cart. Proceed to place the order. Then, navigate to Orders, click on the Split order button, and verify that a backorder is created. Ensure that the order is created correctly and that the backordered products contain unitPrice.
KOD-19158: Base Branding
KOD-19161: Drag and Drop Template for Quoting
KOD-19176: AD PIM Integration
KOD-19181: Convert simple data exports to use high speed approach
Regression Tests
Case 1
Verify that the following list of exports is functioning properly. Remember to always utilize the Data tab.
Export Tickets
Export Employees
Export Categories
Export Filter Categories
Export Attributes
Export Product Cross Reference
Export Shipping Methods
Export Shipping Methods Rate
Export Locations
Export Tax Rates
Case 2
Verify that the following list of exports is functioning properly. Remember to always utilize the Data tab.
Orders
Products With Categories
Products With Attributes
Products With warehouses filter
Company Product Category
Product Price
Pricing Type
Product Languages
Messages
Content Page
Note: When exporting Product With Categories and Product with Attributes, ensure that the category# and attribute# match what is displayed in the UI.
Tests
Case 1
Export ticket using an employee with role: ticketViewAssigned and/or ticketEditAssigned
Check that you shouldn’t be able to export ticket if you have at least one of these roles.
KOD-19208: Add endpoints for language changing
Tests
Case 1
To test these endpoints you should have an employee with the same username, as customer and role: customerPortalCustomize.
Navigate to swagger, Account API schema, Customer System Customizer API.
KOD-19252: Fix swagger issues - follow up
Regression Tests
Case 1
Ensure that Swagger operates as expected, with no deviations from its previous functionality.
Tests
Case 1
Tests swagger.json spec.
KOD-19279: Update layout and theme
Tests
Case 1
Check the following pages to see if the following have been updated:
color theme
fonts
favicon
logos
Welcome page
spcu/login
spcu/checkout
spcu/checkout-thank-you
spu/cart
spcu/credit-application-register
spcu/credit-application-thank-you
spcu/credit-application-password
spcu/quick-order
spcu/registration-successful
spcu/account-retrieval
spcu/account-activation
spcu/account-password
spcu/reset-password
spcu/sitemap
spcu/cod-payment-thank-you
spcu/saved-for-later
spcu/terms-use
spcu/sds-list
spcu/catalogs
product list/search pages
KOD-19285: Add Customer Product Code Feature
Regression Tests
Case 1
Check that placing order, email Order and generating Order PDFs works as usual.
Case 2
At store check that category grid and list, product and cart pages look as usual. You should still be able to check out info, edit quantity, add to a cart.
Tests
Case 1
Check category grid and list views and cart pages. Try editing customer product codes on category pages.
Case 2
Check product page and cart page. Try editing customer product code on the product page.
Case 3
Try Placing the Order. Check checkout page.
For the same order check it within the employee portal orders. Try email this order and generating PDFs for it. Check emails and PDFs.
Case 4
Check without the "companyAdmin" role for your customer. If you don’t have this role, you shouldn’t be able to edit customer product codes. And instead of the word "Add",_ you’ll see just "---".
KOD-19305: CompanyAddress Ticket Customer and Internal file view endpoints
Tests
Case 1
Test downloading CompanyAddress Ticket CustomerFiles.
Case 2
Disclaimer: After latest updates in PR - list of roles who can download Internal Files will be 'administrator', 'superuser', 'companyInternalFileView', 'companyInternalFileEdit'.
Test downloading CompanyAddress Ticket InternalFiles.
KOD-19316: Sellmult - UX
Regression Tests
Case 1
Check products for which intervalOrderQuantity, minimumOrderQuantity and maximumOrderQuantity are not configured.
Tests
Case 1
Check product page for product which has intervalOrderQuantity, minimumOrderQuantity and maximumOrderQuantity set up.
Example: interval = 5, minimum = 5, maximum = 20
Case 2
Check product page for product which has intervalOrderQuantity and maximumOrderQuantity set up. But not maximum.
Example: interval = 5, minimum - , maximum = 30
Case 3
Check product page for product which has minimumOrderQuantity and maximumOrderQuantity set up. But not interval.
Example: minimum = 3, maximum = 24
Case 4
Check category page with products that have intervalOrderQuantity, minimumOrderQuantity and maximumOrderQuantity set up.
KOD-19319: Superseded products
Regression Tests
Case 1
Add a row in crossReference with type “I”, an existent productCode and some test value in altProductCode field.
Then go to the existent product used in the crossReference table and do some modification in order to trigger the reindex of that product.
Go to customer portal and check that you can search for the previous product using the altProductCode that you used above.
Tests
Case 1
Go to setting and turn on the new setting addCrossReferenceTypeToIndex.
Having the regression test done, now you have to add a new row in crossReference table, but this time with type “P”, be sure to use a different altProductCode and the same productCode that was used in the regression test.
Go to the existent product and perform some modification to ensure that the product is reindexed.
Check that the product can be found using the altProductCode for crossReferenceType “I” and “P”.
KOD-19380: update all companies to pay via card
KOD-19404: Minimum Order Quantity - Message Displayed if Manually Update Number Below Minimum Interval
Regression Tests
Case 1
Configure for product intervalOrderQuantity, minimumOrderQuantity.
Check on category page, product page and at cart.
Configure for product intervalOrderQuantity, minimumOrderQuantity and maximumOrderQuantity.
Check on category page, product page and at cart.
Tests
Case 1
Configure for product only minimumOrderQuantity. Check it on caterogy page, product page and at cart.
KOD-19406: Fix the issue with displaying label in column
Tests
Case 1
Login to operations portal.
Open any data-grid (CRM → Companies → Data).
Click on any Column heading → Edit.
Change column type to Select.
Setup options.
Click Save.
Check in Column cell labels displayed instead of values.
Case 2
Login to operations portal.
Open any data-grid (CRM → Companies → Data).
Make sure you have some custom column setup.
Make sure in column cells labels displayed instead of values.
Click on column Heading → Edit.
Change column type to Default.
Click Save.
Check in Column cell values displayed instead of labels.
Case 3
Login to operations portal.
Open any data-grid (CRM → Companies → Data).
Choose some column and fill cells with values.
Click on column Heading → Edit.
Change column type to Select.
Setup options with values you’re add previously.
Click Save.
Check in Column cell labels displayed instead of values.
KOD-19410: UX - Fix registration page
KOD-19436: CMS Form Checkbox Hyperlink
KOD-19448: Custom parser
KOD-19465: Stocking Note Quantities not Updating on Sites
KOD-19468: Edit footer content
KOD-19469: Edit header content
KOD-19478: AP automation parsers
KOD-19482: Move Product Rank Method to JS Interceptor
Regression Tests
Case 1
Use the API: [POST] /api/system/product/updateProductOrderFromOrderItemsQuantityShippedSum
ordersCreatedLessThanDaysAgo = 100
rateByFrequency= true
orderStatuses= Received
You will notice that the update will be performed by filtering the orders with a status of 'Received' with a creation date greater than today - 100 days.
Also, now we are not performing a sum of all amount of product inside the order, instead of that we are calculating the popularity, it means that if the product appear 1 or 400 times in one orderItem, then it is going to be taken as 1 always.
You can test this modifying the value for orderStatus, adding more statuses. Also, you must to check that if you do not select nothing, always for default you are going to have Paid,Invoiced.
Note: "rateByFrecuency" was removed.
Case 2
Here you must to test the same thing described in the previous test, but now using the server side endpoint.
Remember that all new params are request params:
orderStatus is a list of string, while rateByFrecuency was removed.
For example:
var resultPatch = scriptServiceUtils.runAPIMethod("post", "/api/system/product/updateProductOrderFromOrderItemsQuantityShippedSum", null, { "ordersCreatedLessThanDaysAgo":250] }, null);
Case 3
Be sure that the setting jobUpdateProductOrderFromOrderItemsQuantityShipped is turn on and run the monthlyInvervalJob.
Check that now this job is going to run the same function than the API mentioned above.
Also, you can set the parameter for this job using the next json variables:
updateProductOrderWithOrdersCreatedLessThanDaysAgo: number of days before today.
orderStatuses: comma separated list (without spaces) with the status that you want to include in the filter to calculate max or popularity.
Note: "rateByFrecuency" was removed.
Tests
Case 1
Check that new Interceptor exist: updateProductOrderFromOrderItems.js
Case 2
Parameter rateByFrequency was deleted.
KOD-4271: Customer Mobile App - status bar does not appear on login screen
KOD-4263: Customer Flutter App - iPad login screen inputs and button stretched across entire screen
Regression Tests
Case 1
Login to the app should work fine.
Case 2
You should not see any changes on the regular (not tablet) device in portrait mode.
Tests
Case 1
Use iPad or any other tablet device (android suitable as well).
Your Input fields and buttons should be constrained by some max width.
KOD-19500: Mobile app branding
KOD-19508: Public category APIs adjustments
Regression Tests
Case 1
Search product by category code should still working in customer portal.
Case 2
Search product by company category code should still working in customer portal.
Tests
Case 1
Now you should be able to search by seoCode in the customer portal.
Create order and add some items to order on operations side on UI.
Then use swagger endpoint: /api/system/order/{orderID}/orderItem/{orderItemID} to updated current fields.
KOD-19511: Adjust Invoicing Process
KOD-19512: Availability based on region
KOD-19514: Add region field to warehouses
Regression Tests
Case 1
Creating or updating a warehouse should still function properly.
Case 2
Create or update a SKU with a warehouse attached should still working fine.
Case 3
In the customer portal, while navigating the store, the call to retrieve prices should continue to function properly.
Tests
Case 1
You should be able to see and update a new field “region” from Locations menu (using developer tab).
Case 2
You should be able to see the warehouse’s region when we call to get productPrices in customer portal. For logged users.
To get it working, be sure that you are listing a product which has a sku associated with a warehouse relation and the field region populated in the warehouse entity.
Setting showInventoryPublic=1
KOD-19519: Code is displayed instead of customer ticket type
KOD-19521: Migrate Customer Product Code Cross References to Kodaris
KOD-19522: Update integration to automatically migrate cross references to web_customer
KOD-19524: Add API User flag to dtos and endpoints
Tests
Case 1
Verify if the boolean field 'apiUser' exists in the endpoints /list, /search, and /readDetails.
Select some customers, for example, retrieve some users from the /api/system/customer/list endpoint, and confirm if the field 'apiUser' exists.
Attempt to update the 'apiUser' field via the PATCH endpoint and then verify if the field has been updated.
Additionally, check if the 'apiUser' field is indexed in the endpoint: /api/system/customer/search.
Lastly, ensure that the field exists in the endpoint: /api/system/customer/readDetails.
KOD-19528: Add permission to endpoint
KOD-19535: Service Request Form
Regression Tests
Case 1
Ensure that other forms are functioning correctly.
Tests
Case 1
Test the functionality of the new form, including tickets and emails in both English and French.
URL: /spcu/form-installation-service.
KOD-19537: Make Sure Line Items have Hand Pricing - Add Platform Fields
Regression Tests
Case 1
Add or modify items from an Order or Quote should still working fine.
Tests
Case 1
New Fields to check:
quantityReceived
quantityCustomerReceived
sscReceivedNote
Check that new fields exist in development tab.
Use Patch endpoint to test new fields: /api/system/order/{orderID}/orderItem/{orderItemID}
example payload: { "quantityReceived": 2, “quantityCustomerReceived": 2, "sscReceivedNote":"test received Note field" }
KOD-19541: Digital Products should be Free Shipping
Regression Tests
Case 1
Verify if the checkout process functions correctly.
Case 2
Verify if the pages are functioning correctly.
Customer side.
Employee side.
Tests
Case 1
Check if the new boolean field 'digital' exists.
Initially, select an old product to update 'digital' to true or add a new product with the 'digital' field set to true.
On the customer side or employee side, create an order and add an item (the current product with 'digital' set to true).
Use the Swagger endpoint GET: /api/system/order/{orderID}/orderItem/{orderItemID} to verify if the 'digital' field is copied from the product.
KOD-19542: Digital Products should be Free Shipping - UX
Regression Tests
Case 1
Go to PIM → Products → Search Tab.
Ensure that the page appears correctly and that you can assign or unassign fields as needed.
Case 2
Go to PIM → Products → Data Tab.
Ensure that the page appears correctly and that you can assign or unassign fields as needed.
Case 3
Go to PIM → Products → Category Assignment Tab.
Ensure that the page appears correctly and that you can assign or unassign fields as needed.
Case 4
Go to PIM → Products → details page.
Check if you can update here information.
Case 5
Go to companies → Start Order → Order Items.
Check if you can assign products and update some fields.
Tests
Case 1
Go to PIM → Products → Search Tab
Check that you can see new field → Digital.
Case 2
Go to PIM → Products → Data Tab.
Check that you can see new field → Digital.
Case 3
Go to PIM → Products → Category Assignment Tab.
Check that you can see new field → Digital.
Case 4
Go to PIM → Products → details page.
Check that you can see new field under Digital.
Case 5
Go to Orders → Details page → Order Items
Check that you can see new field → Digital
Case 6
Go to Companies → Details page → Orders → Choose order → Order Items
Check that you can see new field → Digital.
Case 7
Go to External Orders → Details page → Order Items.
Check that you can see new field → Digital.
KOD-19546: Updates to Employee Portal Screens
Regression Tests
Case 1
Check that the vendor invoices > search screen > created date still shows and is now formatted same as on the orders screen.
Case 2
Same as Case 1 but with total, subtotal, and taxableSubtotal.
Tests
Case 1
Vendor Invoices should be renamed to AP Vendor Invoices (also check breadcrumbs) and it should be moved above the AP Emails.
KOD-19551: Fix swagger issues - follow up 2
Regression Tests
Case 1
Verify you can navigate across different API definitions in Swagger and you don’t have any error during the process.
Case 2
You should still see correctly: /api/user/sitemap/download and /api/user/sitemap/download/fileName}} endpoints.
Tests
Case 1
Some fix related to spec. Validate the json spec.
You shouldn't see any error similar to '/definitions/CustomerCompanyProductCategoryProductModelEdit does not exist in document'
You still might see some different ones.
KOD-19552: Mobile app listing creation and screenshots
KOD-19558: Ampersand in company catalog codes throwing error
Regression Tests
Case 1
Create/edit Company Catalog.
Also check that you are able to see the catalogs in the customer portal.
Tests
Case 1
Create a new company catalog with a non safe character in the code field.
You must not be able to enter the new catalog, instead of that, you are going to see an error message.
KOD-19565: Re-Index Products
KOD-19570: Move customer app config API to the user section