As part of the extensive ordering feature-set that Kodaris provides, we've added the capability for employees to cancel orders prior to pushing them to the ERP. This is particularly helpful if you don't want orders deleted, but do want them canceled prior to going to the ERP.
To use, click into the order you would like to cancel, click More in the upper right-hand corner and select Cancel Order. After selecting, the status will be updated to Cancelled and releasing will be disallowed.
KOD-18247
Display order assignees
As part of the extensive Kodaris ordering system, you can now display the order assigned sales reps on the global orders screen as well as on the individual order details screen. This is particularly handy if you would like to filter down on the orders you are assigned to as a sales rep, or view the orders assigned to a particular employee. You can also filter down on Assignee IDs if needed.
To display, simply navigate to the global Orders screen, add the 'Assignee IDs' and 'Assignee Names' columns, and filter on preferred value.
View all products within a category from the attribute assignment spreadsheet
Under PIM > Products > Attribute Assignment, you can view all your products in an embedded spreadsheet along with all the attributes each product is in. In the sheet you have all the product columns (such as name, description, etc) and you also have 20 columns (Attribute 1 - Attribute 20) which contain the attributes the product is in.
In this release, we've added a category search box at the top of the sheet that you can use to filter for all products that are in a specific attribute.
Start searching for a attribute in this box
A dropdown will appear that lists the available attributes in the system
Select the one you are looking for
The sheet will update to only show the products which are within that attribute
Confirm before clearing script
As part of the Kodaris development features, we've now added a pop-up to confirm the action when clicking Clear or Reset on the on the Script and Interceptor screens. This is an added safety feature in case you accidentally click one of those buttons and would like to not actually clear or reset the screen.
Determine what runs in a job
We've also added a new enhancement to the Kodaris development features where a user can now determine what will happen when a job runs. This is particularly handy when trying to determine whether a job can be turned on or off. To view, navigate to the job you are questioning under the Scheduler screen, go to the Settings tab and view what records are under the tab.
Tickets
KOD-14243: Create UX for Customers Submitting Tickets
Setting:
{{customerTicketsEnabled}} - enables the Tickets feature in Customer portal
{{customerTicketPriorities}} - holds customer ticket priorities (that will appear in Priorities dropdown), value is a string divided with comma. e.g. High, Medium, Low
Regression Tests
Case 1
By default the new Tickets screen does not appear in the navdrawer. Until the setting is turned on.
Tests
Case 1
Customer can create ticket, and provide title, description, priority and order
In this case, try to play with different roles. To have access to Settings tab on Schedulers, you need have one of these roles: {{'administrator', 'superuser', 'settingEdit', 'settingView'}}.
Try also add to your employee these roles {{'quartzJobEdit', 'quartzJobView'}}, you will get a message to contact admin
To get fully access to scheduler page with details and settings page, you need to have one of this settings {{'quartzJobEdit', 'quartzJobView'}} and {{'settingEdit', 'settingView'}}
KOD-15312: BI Product Tracking [SCOPE]
KOD-15327: UX needed - Create a CompanyAddress Catalog
Tests
Case 1
Check Company Address Catalog page
Login to the operations portal and then go to the Company Address screen
Choose a sample company address and go to the detail page. Open catalog tab
Permissions needed to access the tab are the following: {{'administrator', 'superuser', 'companyCategoryEdit', 'companyCategoryView', 'companyAddressCategoryEdit', 'companyAddressCategoryView'}}
Test the following. The data should be saving and there should be no errors:
Add catalog
Add a catalog with parent catalog
Editing a catalog
Deleting a catalog
Test products in the catalog. The data should be saving and there should be no errors
Adding products in the catalog
Deleting products in the catalog
Importing products in the catalog
KOD-15684: Incorrect PIM import mappings
Regression Tests
Case 1
Import Category Assignment, then use delete import to delete the category assignment
Case 2
Import Attribute Assignment, then use delete import to delete category assignment.
It is only going to delete categories with code prefix “fg_”
Tests
Case 1
Check the import naming for Category Assignment and Attribute Assignment now are correct.
KOD-16041: Able to Add Additional Column to Custom Item Pop-up?
Regression Tests
Case 1
Please test that we can still add custom item
Case 2
Please test that we can add note to an ordinary product
Case 3
Please check that page with cart items is displayed as usual
Tests
Case 1
Please test:
adding custom item (product and manufacturer should be required)
update fields and see if it is saved properly
try to open update popup and save it without changes, we should still see values that were before
Case 2
Please test if we can correctly see all order templates (email, pdf, the ordinary one)
KOD-16066: List of Fields that Shouldn't be Updated for SEO Screen in Portal
Tests
Case 1
*Note:*
OG fields would only show if the page has *OG Type, OG Title, OG url and OG image*.
*Meta tag verification* would only show if the website has meta tag verification added in the store settings
*Canonical url* would only show if the page has canonical url (only on search and category pages)
These are the *fallback fields* if there page’s seo and og fields are empty:
*Meta title:* store meta title or store name
*Meta description:* store meta description
*OG title:* store OG title ({{storeOGTitle}}) or store name
*OG description:* store OG description ({{storeOGDescription}})
*OG type:* store OG type ({{storeOGType}}) or website
*OG url:* store OG url ({{storeOGURL}}) or customerURL
*OG locale:* store OG locale ({{storeOGLocale}}) or en_US
OG image: store OG image ({{storeOGImage}})
Case 1
*Category page SEO*
*Meta Title:*
This is the category’s Seo meta title if it is added, else it would be category name, if there is none, it will fall back to store meta title or store name
*OG title:*
This is the category’s Seo meta title if it is added, else it would be category name, if there is none, it will fall back to store OG title or store name
*Meta Description*
This is the category’s Seo meta description if it is added, if there is none, it falls back to store Meta description
*OG description*
This is the category’s Seo meta description if it is added, if there is none, it falls back to store OG description
*OG image*
This is the category’s medium image. if there is none, it would be the store OG image
*OG Url*
This is the category url
*OG type*
This is the store OG type, else it is ‘website’
*OG Locale*
This is the OG locale store setting, or en_US
*Canonical URL*
If the page is a search page it would be:
This is the the URL + ?searchString= + keyword searched
For normal category pages, it would be the pages' URL
Case 2
*Product page SEO*
*Meta Title and OG title:*
This is the product Seo meta title if it is added, else it will be the product name, if there is none, it will fall back to store meta title/store OG title or store name
*Meta Description/OG description*
This is the product’s seo meta description, else it falls back to store Meta/OG description
*OG image*
This is the product’s medium image. if there is none, it would be the store OG image
*OG Url*
This is the product url
*OG type*
This is the store OG type, else it is ‘website’
*OG Locale*
This is the OG locale store setting, or en_US
Case 3
*CMS page SEO*
*Meta Title:*
This is the page’s Seo meta title if it is added, else it would be page name, if no page name, this will be store meta title or the store name
*OG title:*
This is the page’s OG title if added else, page’s Seo meta title if it is added, else it would be page name, if there is none, it falls back to store meta title
*Meta Description*
This is the page’s Seo meta description if it is added, if there is none, it falls back to store Meta description
*OG description*
This is the page’s OG description setting if added, else it would be meta description if it is added, if there is none, it falls back to store OG description
*OG image*
This is the page’s OG image setting if added, else it would be the pages’ medium image. if there is none, it would be the store OG image
*OG Url*
This is the page’s OG Url if added else, it is the page url
*OG type*
This is the page’s OG type if added else, it is store OG type, else it is ‘website’
*OG Locale*
This is the page’s OG locale if added else, it is OG locale store setting, or en_US
Case 4
*SPCU Pages*
Check the following pages. These pages should have the following meta title:
/spcu/login - Sign In or Register
/spcu/register - Register
/spcu/contact - Contact
/spcu/quick-order - Quick Order
/spcu/checkout-thank-you - Checkout - Thank You!
/spcu/credit-application-register - Credit Application - Sign up
/spcu/credit-application-thank-you -Credit Application - Thank You
/spcu/credit-application-password - 'Credit Application - Set Password
On the Order Details Check that layout at the top hasn’t changed. More button with *Cancel order* option would not be available for users that don’t have *superuser* permission and orders with ERP and for orders which already have status ‘Canceled’.
Tests
Case 2
Check that the *Cancel Order* button cancels the order, and sets the order status to *Canceled*. After order is canceled, button would disappear from the screen.
Case 3
Check if the button is present while releasing order to ERP.
KOD-17350: Operations Portal Grid - Side Scroll Bar
Tests
Case 1
Update scrollbar setting in Preferences for Mac users
In System Settings, go to Appearance and in Show Scroll bars choose Always
KOD-17374: Assigned to Ticket email template not host compatible
Regression Tests
Case 1
Test employee receives email after ticket assigned, and has correct host
Email will try to get host from:
1) Employee warehouse - host code
2) ticket host code
3) ticket warehouse → host code
4) Ticket company → host code
Case 2
Test received email after content page commented uses correct host
Where to set host for Content Page? Pages > details > Host code
KOD-17554: Footer Edit Functionality
Regression Tests
Case 1
Check the footer in general, it shouldnt look broken or have any errors when the links are not setup
Tests
Case 1
Check Footer editing functionality
Login to the operations portal
Go to CMS > Menus
Click on Menus > Footer
Add, edit, delete links in the Footer and click on Publish. The footer links should reflect the changes made in the editor. There should not be any errors when updating the links.
KOD-17749: Create Invoice Layout
Tests
Case 1
Generate order PDF and Email layouts
Note: please use the order # in the attached sample pdf or the given test orders to check if the data is showing correctly
Login to operations portal > Orders.
Click on a sample order
Generate an order email and check the layout and lookout for any errors
Generate an order PDF and check the layout and lookout for any errors
Case 2
Check customer portal order layout
Login to customer portal > Orders.
Click on a sample order
Check the order detail layout and lookout for any errors
KOD-17771: Collapse menu when clicking it again
Regression Tests
Case 1
The shop by category menu should still close when you click away from it
Tests
Case 1
The shop by category menu should toggle (open/close) when you click on the button
KOD-17836: Adding a new API user
Tests
Case 1
On the customer portal go to Employees page, at the top there will be ‘Add API User’ button, click on it. The pop up will show up where you should enter the new api user name and description (description is optional). Click ‘Cancel' button to close the pop up or ‘Create’ to create API User. Then Another pop up will show up, there are few actions here: 1. try copying the API Key to clipboard by pressing on copy icon and see if it works as expected, same for copying username. 2. Press 'Set Permissions’ button and it should take you to that api user details page.
KOD-17957: Re-add Deleted Company
KOD-17971: Update Invoice field label on invoice templates
KOD-18005: Operations Portal - confirm before clearing user script
Tests
Case 1
In employee portal, at those pages below try clearing the script by pressing ‘Clear' on user scripts or 'Reset’ for api scripts and interceptors:
KOD-18027: Order shipped to billing address
Regression Tests
Case 1
Main tests covers regression as well - when non-logged in Customer has items in cart and does not log in - cart is migrated successfully, no errors, billing address and shipping address in cart are populated according to Customers setup (roles, assigned addresses)
Tests
Case 1
Preconditions:
Have a Customer set up with limited roles ({{viewAssignedLocation}})
Assign 2 addresses: billing address (it has {{billing_1}} in it’s code) and a shipping address
Have the {{customerRemoveBillToAddressesFromShipToDropdowns}} setting turned on
As a NON logged in customer - add items to cart and then log in.
Expected result: in step 2 in cart - Shipping Address is populated with shipping address details, NOT with billing address
Case 2
Unassign the shipping address, so Customer only have 1 address assigned - the billing address
{{customerRemoveBillToAddressesFromShipToDropdowns}} setting turned on
As a NON logged in customer - add items to cart and then log in.
Expected result: in step 2 in cart - Shipping Address is empty, as customer doesn’t have shipping addresses assigned, and billing address is excluded by setting - so was not used
Case 3
Turn off the {{customerRemoveBillToAddressesFromShipToDropdowns}} setting
As a NON logged in customer - add items to cart and then log in.
Expected result: in step 2 in cart - Shipping Address is populated with a billing address details - as this is the only address assigned and setting does not exclude it, i.e. it was used
KOD-18079: PriorityPaymentProvider - Support scheduled payments
Regression Tests
Case 1
Create Priority Customer ID:
Case 2
Pay order using Priority Payments Provider:
Case 3
Pay order on cart checkout using Priority:
Tests
Case 1
Check if we can schedule and pay scheduled payment from the job using Priority provider:
KOD-18115: Add Pay Date to Customer Portal Orders Screen
Regression Tests
Case 1
Modify an order to trigger the reindex process of that order and check that nothing goes wrong.
Case 2
List order on customer portal and check that nothing goes wrong.
Case 3
Repeat case 1 and 2 with an order that has no associated payments.
Tests
Case 1
Select an order which has a payment completed associated and check the new fields under development tab.
Note: the payment should be match the externalOrderNumber value with the order. Also it has to be inactive and it has to has a paymentDate.
When an order has more than 1 payment associated that match the criteria:
payment.externalOrderNumber=order.extearnalOrderNumber and
payment.active = NO and
paymentDate different than null
Then we are going to take in account the latest payment.
KOD-18199: Add List Price Field
KOD-18215: Tickets - Add Ability to filter by attribute assignment on Attribute Assignments screen
Regression Tests
Case 1
In employee portal go to Products-> Attribute Assignment. Make sure that grid works fine, try searching on the page, sorting and filtering
Tests
Case 1
In employee portal go to Products-> Attribute Assignment. Near search bar there will be a input field for attribute. Enter some attribute and it should show products with that attribute.
KOD-18217: Tickets - Add endpoint to support Attribute Assignment tab on ticket lists
Regression Tests
Case 1
Newly added endpoint, no regression testing here.
Tests
Case 1
Test newly added endpoint returns all expected products with attributes and does NOT return products which are not assigned to specific product list:
Case 2
Test newly added endpoint throw error when trying to get products from product list which is not assigned to the specified ticket:
Case 3
Test filtering by assigned attributes in search string:
KOD-18243: Employee portal - Child Company Tab Grid - When removing them it removed them from the portal
Regression Tests
Regression is not required because no extra logic was changed or removed
Tests
Case 1
Go to Employee portal
Go to → CRM → Companies → Company Details → Child Companies.
Add some new Child Companies.
Select some Child Companies.
Click on Edit → Delete selected rows
Make sure companies disappeared from grid.
Go to → CRM → Companies.
Search Child Companies that were removed previously.
Go to Orders > search page, near a Company column there should be Assignee Names column (it should be filterable). Also try to add Assignee IDs column, it also has to be filterable
Case 2
This is a test case to see if a fix for filtering Assignee IDs across a whole platform works fine. To test this, on employee portal go to such pages: Tickets/search, Vendors/search, Activities and Activity Templates. Check if filters work fine.
KOD-18249: Redirect to login page
Regression Tests
Case 1
Please check that you can add products from details page, product list (list, grid and catalog view) and quick order to cart when you login as a customer
Case 2
Check if you can add items to the cart and you redirected to login page when you login as a customer
Tests
Case 1
Please check that you can’t add products from details page, product list (list, grid and catalog view) and quick order to cart when you not login as a customer
Case 2
Check if you can not add items to the cart and you redirected to login page when you not login as a customer
KOD-18272: When using emails from releaseOrder, CSD does not work properly
KOD-18275: Hide notifications and open invoices on customer portal
Tests
Case 1
Go to customer portal
Go to notifications tab
Check if you see only 2 notification as shown on screen
Case 2
Go to customer portal
Check if you don’t see Open invoices tab
KOD-18285: Hide message if no templates input
Tests
Case 1
Login to Employee portal
Go to Orders/Quotes/ Cash Quotes > Details
Make sure you can’t choose template to generate.
Click on Generate File > Customer/Internal PDF.
Make sure popup is open.
Make sure Template input and label is not displaying.
Case 2
Login to Employee portal
Go to any Data grid
Click on Edit Menu item.
Make sure 'unselected' word is red and bold.
Click on Insert Menu item.
Make sure all other bold texts have default color.
KOD-18287: Add internal file endpoints for order/quote/vendorInvoice/company controllers
Tests
Case 1: download, view, list Company and Email Internal Files
need to select some company, upload some *Internal* file
use swagger endpoint: /api/system/email/sendEmail to attach internal Files and send email: (because attaching internal files hasn’t implemented yet on UI side)
Case 2: download, view, list Order and Email Internal Files
Do the same as we did in *case 1* but go to some *order* record, upload *internal* file, attach *internal file* to email and then send the current email
Case 3: download, view, list Quote and Email Internal Files
Do the same as we did in *case 1* but go to some *quote* record, upload *Internal* file, attach *Internal file* to email and then send the current email.
Case 4: download, view, list Vendor Invoice and Email Internal Files
Do the same as we did in case 1 but go to some *VendorInvoice* record, upload internal file, attach internal file to email and then send the current email.
KOD-18289: Create new price modifier screen in operations portal
Tests
Case 1
Go to operations > {{Pricing & Discounting}}
Check if you can see new tab {{Pricing Modifiers}}
Case 2
Go to operations > {{Pricing & Discounting}} > {{Pricing Modifiers}}
Check that page looks good without any problems
Case 3
Go to operations > {{Pricing & Discounting}} > {{Pricing Modifiers}}
Check that you can create, update and delete record
NOTE: try to disable code column, when you create new record without code, in code field will be random generated value
Case 4
Go to operations > {{Pricing & Discounting}} > {{Pricing Modifiers}}
Check if warehouse code have autocomplete and you can set one of available
Case 5
Go to operations > {{Pricing & Discounting}} > {{Pricing Modifiers}} > details page
Check that page looks good and you see details tab
Case 6
Go to operations > {{Pricing & Discounting}} > {{Pricing Modifiers}} > details page
Check that you can update fields without any problems
Case 7
Go to operations > {{Pricing & Discounting}} > {{Pricing Modifiers}} > details page
Check if warehouse code have autocomplete and you can set one of available
Case 8
Please play with different roles. You should have access to this page with these roles: {{'superuser', 'administrator', 'pricingModifierView', 'pricingModifierEdit'}}
KOD-18292: API Call Details for Statements on Documents Section
Regression Tests
Case 1
Navigate to operations portal, attach a customerFile. Make sure it attached successfully
Tests
Case 1
Perform /api/system/company/byCode/{companyCode}/customerFile/upload call. Make sure the file uploaded successfully
Case 2
Same endpoint, but incorrect company code. Expect an error response
KOD-18310: Add shipping methods
Tests
Case 1
Please test if we have shipping methods available
KOD-18339: Add shipto number to shipto select dropdown
Regression Tests
Case 1
No regression tests
Tests
Case 1
As a logged in user try to select a company address at the top, in the dropdown options there should be a shipto at the begining of every option. To test this make sure that your company has those company addresses.
KOD-18350: Product Redirect issue
Regression Tests
Case 1
Search a product with setting {{useSearchPreprocessing}}=0
Should perform a normal search without searchRules.
Case 2
Search a product with searchRule with
setting
{{useSearchPreprocessing}}=1
and searchRules with values:
{noformat}pattern = matchSearchText
searchType = product
minimumMatch = 1
ruleType= prePRocessing
action = categoryRedirect
active = 1
ruleOrder = 1
actionData= {noformat}
should redirect the search by category.
Tests
Case 1
Check that the bug was fixed.
This scenario should be set up to check the that the bug was fixed:
Create a searchRule with next values:
*Be sure that there is no other rule with action categoryRedirect before this one in order*