Custom CRM Test Cases
General
This document will help verify that all the functions in the API work as intended. Follow the instructions and check that the results match as described in the test.
When talking about a customer present in the CRM, it is referred to in this document as contact
, while the CRM itself
is referred to as system
. Sitoo POS is referred to as the app
. The system should have at least one unique key for a
contact that is searchable, and it is possible to have more than one. This key is referred to as the identifier
.
Preparations
To be able to use the Custom CRM, the feature needs to be activated for the system. Make sure it is, and then in the
Sitoo Backoffice, select Settings
/ Custom CRM
and enter the API url
and key
to enable the functions.
Next, if person lookup from external personal database is possible, the search type can be specified. It is also possible to specify the title that will show up for member number on the receipt if present, and to give search instructions when searching for a contact. There are four fields that can be made mandatory by checking the checkbox.
Finally, specify which fields that should be available when adding a contact, and when editing a contact. These fields will be referenced in the tests and should always be filled out if possible.
With these settings completed, it is now possible to test the API itself.
Contacts
These tests will verify that the contacts are correctly handled. Make sure to hold on to the identifier for the contact created in the first test, as it will be used frequently throughout the document.
1. Add contact
Add a contact by first searching for the identifier used in the system. This identifier should not match any contact
present in the system. When the system responds that no contact was found, choose to create a new contact. Make sure to
fill out all fields possible. When finished, tap OK
.
If the person lookup function is enabled, then the system will automatically complete information on the contact. Additional information may still be needed if not all fields contain information.
Expected result
Contact is created in the system with the correct information. The contact card in the app should contain the correct information. Also verify in the system that the new contact is correctly added.
2. Find contact
Make sure that the shopping cart is empty by tapping the trash bin icon in the app. Search for a contact by tapping
on Add Customer
and enter the identifier. Verify that the contact is found and that the information returned is
correct.
Expected result
The contact card containing all the contact information should show up. Compare to the system's contact and verify that they are identical.
3. Edit contact
Make sure that the shopping cart is empty, then add the customer. When presented with the contact card, tap Edit
.
Change a number of fields and then tap OK
.
Expected result
When looking at the contact card, the changes made should be seen. Verify in the system that the changes are present.
Consents
Make note that just like other fields on contact, changes to consents save as soon as OK
is tapped.
4. Activate and deactivate consents
Make sure that the shopping cart is empty, then add the customer. When in the contact card, scroll down to consents and
observe the values set for the consents. Change one consent by dragging the switch. Tap OK
to confirm the change.
Expected result
When looking at the contact card again, the consent changed should now show the change made. Verify in the system that the change has been successful.
Make this test twice for every consent so that each consent have been both activated and deactivated and each change have been separately verified in the app as well as the system.
Transactions
When making transactions, note if the system receive the changes immediately or if there is a delay. Most tests want to verify with the system that changes are made and in some cases want to fetch information from the system as soon as a transaction has been made. If possible, make sure that syncing can be forced manually when running the tests.
5. Make a transaction
Make sure that the shopping cart is empty, then add the customer. When found, tap OK
to exit the contact card and then
add one or more items to the shopping cart. Perform a checkout and use any payment method to finish the purchase.
Expected result
When the receipt is printed, verify that it corresponds to the previous purchase and that it has the correct information on it. If, in settings, a member number title was added, this should show up on the receipt. Also verify this with the transaction list in the customer card. Scroll down to transactions and find the corresponding transaction.
6. Perform a refund from contact card
Make sure that the shopping cart is empty, then add the customer. When on the contact card, scroll down to the
transactions and select a transaction. When in the transaction view, tap the Refund
button. Checkout the refund.
Expected result
A refund should be made and a refund receipt should be printed out. Verify that the new transaction is in the system.
Promotions
There are four possible types of promotions and each must be tested separately. The percent based promotion and the fixed value promotion adds a discount on the whole cart that is split up on each item in the cart proportionally. Offer promotion often demands very specific items to be included in the cart to include the discount. Lastly, the custom promotion is only used as a flag and can be used when the promotion is not covered by the system.
7. Redeem a percent based promotion
Make sure that the shopping cart is empty, then add the customer. When in the contact card, scroll down to promotion and
select a percent based promotion by tapping the Use
button. Perform a purchase with this promotion.
Expected result
Looking at the receipt, the purchase should be discounted by the same percent that the promotion offered, and the
promotion should be written out on the receipt. When looking at the contact again, the promotion should now be redeemed,
and show a redeem date instead of the Use
button, or a text explaining that the promotion is used. Also verify in the
system that the promotion has been redeemed.
8. Redeem a fixed value promotion
Make sure that the shopping cart is empty, then add the customer. When in the contact card, scroll down to promotion and
select a fixed value promotion by pressing the Use
button. Perform a purchase with this promotion.
Expected result
Looking at the receipt, the purchase should be discounted by the same amount that the promotion offered, and the
promotion should be written out on the receipt. When looking at the contact again, the promotion should now be redeemed,
and show a redeem date instead of the Use
button, or a text explaining that the promotion is used. Also verify in the
system that the promotion has been redeemed.
9. Redeem an offer promotion
Make sure that an offer campaign using a code is present in Sitoo Backoffice. The code must match the corresponding
offer provided from the system. Make sure that the shopping cart is empty, then add the customer. When in the contact
card, scroll down to promotion and tap the Use
button. Exit the contact card and add items to the cart corresponding
to the offer promotion. Observe that the promotion activates and checkout the purchase.
Expected result
Looking at the receipt, the purchase should be discounted by the same value that the promotion offered, and the
promotion should be written out on the receipt. When looking at the contact again, the promotion should now be redeemed,
and show a redeem date instead of the Use
button, or a text explaining that the promotion is used. Also verify in the
system that the promotion has been redeemed.
10. Redeem a custom promotion
Make sure that the shopping cart is empty, then add the customer. When in the contact card, scroll down to promotion and
select a custom promotion by tapping the Use
button. Perform a purchase with this promotion.
Expected result
Looking at the receipt, the purchase should not look any different from when performing a normal purchase, and the
promotion should not be written out on the receipt. When looking at the contact again, the promotion should now be
redeemed, and show a redeem date instead of the Use
button, or a text explaining that the promotion is used. Also
verify in the system that the promotion has been redeemed.
Bonus checks
A bonus check work similar to a fixed value promotion as it will also discount a fixed sum that is divided proportionally over all the items in the cart.
11. Redeem a bonus check
Make sure that the shopping cart is empty, then add the customer. When in the contact card, scroll down to bonus checks and select one to use by tapping the button Use. Perform a purchase with the bonus check.
Expected result
Looking at the receipt, the bonus check should be listed and the amount omitted from the cart value. When looking at the
contact again, the bonus check should no longer have a Use
button, but instead have the redeem date, or a text
explaining that the bonus check is redeemed, printed in its place. Also verify in the system that the bonus check has
been redeemed.
Optional tests
This test is made to cover the case when an external part can create entities in the system, such as a webshop.
12. Make a refund on a receipt not created in Sitoo POS
If an external system for purchases exists, such as a webshop that can create transactions in the CRM, make a refund through Sitoo POS on this transaction.
Search for a contact using the identifier. When in the contact card, scroll down to transactions and select a
transaction not created in Sitoo POS. When in the transaction card, click the Refund
button and checkout the refund.
Expected result
Verify that the refund was done correctly by comparing the receipt with the version in the contact card, and also with the transaction in the system.