AT-268: To test: As a monitoring user, I want the system to authenticate a supervised user by phone number or by SMS exchange before recording her/his schedule attendance (US-12) #268
Preconditions: The tester installed the Big Owl application on a smartphone, has logged in and has created a schedule for a supervised user
At the schedule start time, the app on the supervised user phone will check if the phone number on the sim card is the same as the supervised user phone number in the database.
Case 1
If the phone numbers are the same then the user is authenticated: the schedule attribute "authenticated" will be changed from false to true in the database and a toast message will pop on the supervised user phone to signal confirmation of authentication
Case 2
If the system can not conclude that the phone numbers are the same (due to phone type limitation, telephony provider restrictions, ..etc), the system will try to authenticate the user with the firebase unique ID of the app that was used to validate the location of the user as correct. This Uid was save in the database at the moment of validation. The app on the tester phone (Supervisor) will send a text SMS to the supervised user phone number (the one saved in the database) and on receiving that text SMS, the app on the supervised user will compare its current firebase Uid and the one that was saved. If they are the same then the user is authenticated as in case 1, otherwise a toast message will pop on the supervised user phone to signal failure of authentication and the schedule attribute "authenticated" will remain as false in the database
Expected result: The supervised user is authenticated in the database and has received a confirmation toast message. Or the supervised user is not authenticated in the database and has received an authentication failure toast message
Post-conditions: The supervised user is authenticated or supervised user is still not authenticated
Related to US #12
Preconditions: The tester installed the Big Owl application on a smartphone, has logged in and has created a schedule for a supervised user
At the schedule start time, the app on the supervised user phone will check if the phone number on the sim card is the same as the supervised user phone number in the database.
Case 1 If the phone numbers are the same then the user is authenticated: the schedule attribute "authenticated" will be changed from false to true in the database and a toast message will pop on the supervised user phone to signal confirmation of authentication
Case 2 If the system can not conclude that the phone numbers are the same (due to phone type limitation, telephony provider restrictions, ..etc), the system will try to authenticate the user with the firebase unique ID of the app that was used to validate the location of the user as correct. This Uid was save in the database at the moment of validation. The app on the tester phone (Supervisor) will send a text SMS to the supervised user phone number (the one saved in the database) and on receiving that text SMS, the app on the supervised user will compare its current firebase Uid and the one that was saved. If they are the same then the user is authenticated as in case 1, otherwise a toast message will pop on the supervised user phone to signal failure of authentication and the schedule attribute "authenticated" will remain as false in the database
Expected result: The supervised user is authenticated in the database and has received a confirmation toast message. Or the supervised user is not authenticated in the database and has received an authentication failure toast message
Post-conditions: The supervised user is authenticated or supervised user is still not authenticated