Custom CRM Test Cases

Deprecated!
This version has been deprecated in favor of SPI CRM v2. Existing integrations using SPI CRM v1 will still be supported.

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.