As a: responder who wants to deliver aid to requesters, Emily
I want: to know where are the dangerous spots
so that: I can move within war zones safely and deliver help.
Scenario 1: view the map with my current location (GPS + display)
Given: I am at the home page
When: I navigate to the map
Then: I should see the name of my current location on the top of the page
And I should see a map with my current location at the center
And I should see some markers indicating the dangerous spots around my current location
Scenario 2: search for a new location on the map (Searching)
Given: I am currently on the map page
When: I search for a new location via searching bar
Then: I should see the name of the new location on the top of the page
And I should see a map with the new location at the center
And I should see some markers indicating the dangerous spots around the new location
Scenario 3: view detailed information of a selected location (Place Information Page)
Given: I am currently on the map page
And I search for a new location via searching bar
When: I click a marker on the map
Then: I should be directed to the place information page with the detailed information about potential dangers at the selected location
Scenario 4: view detailed information of a selected location (Infinite scroll)
Given: I am currently on the map page
And I search for a new location via searching bar
And I click a marker on the map
When: I scroll through the place information page
Then: I should see more and more reviews about the potential dangers at the location
Scenario 5: view the dangerous reports from others (API test)
Given: I am currently on the map page
And I search for a new location via searching bar
And I click a marker on the map
When: I look at the first report on the place information page
Then: I should see the user name of the user who reports.
And: I should see the correct content of the user’s reports displayed
Scenario 6: move the map and load new markers (correct markers displayed)
Given: I am currently on the map page
When: I drag the map to see the nearby places
Then: I should see the markers in position on the map
As a: victim in a war zone that had saw an unexploded mine being placed around a certain place, Eric
I want: to inform others about the unexploded mine’s location
so that: others will avoid that location and be safe.
Scenario 1: display the form (display)
Given: I have logged in
And I am at the default map page
When: I click the “REPORT DANGERS” button to add a dangerous location
Then: I should be redirected to the “Risk Report” page with a form displayed
Scenario 2: post information of a “previously safe” location via the add button on the default page
Given: I have logged in
And I am at the default map page
And I click the “REPORT DANGERS” button to add a dangerous location
When: I enter a location manually
And I fill all the required (compulsory) information
And I click “submit”
Then: I should get back to the default map page
And I should be able to see a successful toast
And a new marker is generated on the map at the entered location after refreshing
Scenario 3: post using the current location (GPS)
Given: I have logged in
And I am at the default map page
And I click the “REPORT DANGERS” button to add a dangerous location
When: I check the “current location” box
Then: I should see the location field is auto-filled with the parsed address via GPS
Scenario 4: validate the filled information before submission (input validation)
Given: I have logged in
And I am at the default map page
And I click the “REPORT DANGERS” button to add a dangerous location
When: I fill half of the required fields
And I click “submit”
Then: I should see a red warning beside the submit button
And I should see the required fields which I forget to fill are highlighted in red.
Scenario 5: display the form correctly by reporting from the place information page
Given: I have logged in
And I am at the default map page
And I search for a specific location via searching bar
And I click the marker where I want to report dangers
When: I click the “REPORT” button to add a dangerous location on the place information page
Then: I should be redirected to the “Risk Report” page with a form displayed
And I should see the location reported fields are filled by the location of the marker
Scenario 6: post a (already dangerous) location via searching a specific location
Given: I have logged in
And I am at the default map page
And I search for a specific location via searching bar
And I click the marker where I want to report dangers
And I click the “REPORT” button to add a dangerous location on the draggable overlay
When: I fill all the required fields
And I click “submit”
Then: I should get back to the map page
And I should see the detailed information on the overlay of the searched location
And I should be able to see a successful toast
And the review generated will be on the top of the overlay
As a: person who saw a missile that had bombed a building through telegram, Emily
I want: to spread this information to as many people as possible by copy and pasting the telegram text to HELP application
so that: I can avoid typing the information one by one.
As a: person who is running away a collapsing building
I want: to speak to post the information since I cannot type
So that: I can spread the information to more people in time
Scenario 1: Get access to the "autofill" page
Given: I have logged in
When: I click the "mic" icon on the navigation bar
Then: I should see a dialog named "Speak to Report Dangers"
And the button "CONTINUE" is disabled since the user never types anything
Scenario 2: Speech Recognition
Given: That the autofill dialog is open
When: I tap on the "mic" icon and say "Today's Russian missile attack on Odesa, on the seaport"
Then: I should see what I have said in the text box below
And the "CONTINUE" button is enabled
Scenario 3: Editing the recognized text
Given: HELP has detected the text as "Today's Russian missile attack on Odesa, on the"
When: I edit the text field by adding "seaport"
And I click "CONTINUE"
Then: I should see a dialog with a "Report Risk" form
And I should see the location field filled with seaport, Odesa, Russian
And I should see the description field filled with "Today's Russian missile attack on Odesa, on the seaport"
Scenario 4: Confirming the submission of the post
Given: I have seen the autofilled form
When: I click "Post"
Then: I should see a success toast
And I should be redirected to the page where he browsed
As a: person who is desperately looking for his father, Eric
I want: to view the list of the deceased people who are buried by others to check if my loved ones have been found dead, and where they have been buried
so that: I know where to find them after the war, or to continue searching for them if they have not been found dead
Scenario 1
Given: I have logged in
And I am at the deceased information page
Then: I should be able to see a list of posts with the basic information of the people who had died and buried
Scenario 2
Given: I have logged in
And I am at the deceased information page
Then: I should see the most recent post on the top
Scenario 3
Given: I have not logged in
And I am at the deceased information page
Then: I should be able to see a list of posts with the basic information of the people who had died and buried
Scenario 4
Given: I have not logged in
And I am at the deceased information page
Then: I should see the most recent post on the top
Scenario 5
Given: I have logged in
And I am at the deceased information page
When: I refresh the page
Then: I should see the most recent post on the top
Scenario 6
Given: I have not logged in
And I am at the deceased information page
When: I refresh the page
Then: I should see the most recent post on the top
Scenario 7
Given: I have logged in
And I am at the deceased information page
When: I tap one of the posts of deceased persons
Then: I should be redirected to a new page with more detailed information regarding the body
Scenario 8
Given: I have not logged in
And I am at the deceased information page
When: I tap one of the posts of deceased persons
Then: I should be redirected to a new page with more detailed information regarding the body
Scenario 9
Given: I have tapped one of the posts of deceased persons
And I am on the “Detailed Information” page of the person
Then: I should not be able to see the exact burial location or photos
Scenario 10
Given: I have logged in
And I am on the “Detailed Information” page of the person
When: I click the “go back to the last page” button
Then: I should return to the deceased information page
And I should be where I browsed before tapping the post of the person to see the detailed information
Scenario 11
Given: I have not logged in
And I am on the “Detailed Information” page of the person
When: I click the “go back to the last page” button
Then: I should return to the deceased information page
And I should be where I browsed before tapping the post of the person to see the detailed information
Scenario 12
Given: I have logged in
And I am on the deceased information page of the person
When: I scroll through this page
Then: I should see more and more posts
Scenario 13
Given: I have logged in
And I am on the deceased information page of the person
And I have scrolled through all the posts
When: I scroll again
Then: I should see a reminder to remind me that you are at the bottom of the lists
As a: person who want to look out for a specific person on the deceased information page, Eric
I want: to narrow down the posts by providing some information about the person I am looking for
So that: I can avoid having to look through all the deceased posts.
Scenario 1: Get access to the filter dialog
Given: I am on the "deceased_posts" page
When: I click the "filter" button
Then: I should see a dialog named "Deceased Filter"
And I should see the "Date Range", "Gender", "Age Range", "Hair Color", "Hair Length", "Skin Color" sections
And the "Apply" button is disabled since I never select anything
Scenario 2: Selecting the options
Given: the "Deceased Filter" dialog is open
When: I select "Male" "35-44" "Buzz Cut" "Light Brown"
Then: the "Apply" button is enabled
Scenario 3: Applying the filter
Given: I have selected the filtering conditions
When: I click the button "Apply"
Then: the "Deceased Filter" dialog is closed
And the "deceased_posts" page is refreshed
And I should see 2 posts matches his conditions
Scenario 4: Cannot find any matched posts
Given: the "Deceased Filter" dialog is open
When: I select "Female" "35-44" "Buzz Cut" "Light Brown"
And the user clicks the button "Apply"
Then: the "Deceased Filter" dialog is closed
And the "deceased_posts" page is refreshed
And I should not see any post on the "deceased_posts" page
red fields which I forget to fill are highlighted in red.
As a: person who found and buried someone died in the middle of the road, Eric
I want: to post the information of the person who is buried by me and the burial location
so that: people finding their relatives or friends can look through the list to see if they have died and if so, retrieve their buried location.
Scenario 1
Given: I have logged in
And I am at the deceased information page
When: I click the “post the information of the deceased”
Then: I should be able to see the “post the information of the deceased” page
Scenario 2
Given: I have not logged in
And I am at the deceased information page
When: I click the “post the information of the deceased”
Then: I should be able to see a pop-up reminder which reminds me to log in first.
Scenario 3
Given: I have seen the pop-up reminder which reminds me to log in before I post the deceased information
When: I close the pop-up reminder
Then: And I should be where I browsed before I try to post the information
Scenario 4
Given: I have logged in
And I am at the “post the information of the deceased” page
When: I fill all the required (compulsory) information
And I fill some optional information
And I click “submit”
Then: I will get back to the refreshed “deceased information” page
And I should be able to see a successful toast
And the post generated will be on the top of the deceased information page
Scenario 5
Given: I have logged in
And I am at the “post the information of the deceased” page
When: I fill some of (not all) the required (compulsory) information
And I fill some optional information
And I click “submit”
Then: I should be able to see a red warning beside the submit button
And I should be able to see that the required fields which I forget to fill are highlighted in red.
Scenario 6
Given: I am on the “post the information of the deceased” page
And I am warned to fill all the required fields
When: I do not fill all of the required fields
And I click “submit”
Then: I should be able to see a red warning beside the submit button
And I should be able to see that the required fields which I forget to fill are highlighted in red.
Scenario 7
Given: I am on the “post the information of the deceased” page
And I am warned to fill all the required fields
When: I fill all the required fields I forgot to fill before
And I click “submit”
Then: I will get back to the refreshed “deceased information” page
And I should be able to see a successful toast
And the post generated will be on the top of the deceased information page
Scenario 8
Given: I am on the “post the information of the deceased” page
And I am warned to fill 2 required fields
When: I fill one of the required fields
Then: This highlighted field I fill will return to normal
Scenario 9
Given: I am on the “post the information of the deceased” page
And I am warned to fill 1 more required fields
When: I click “Submit”
Then: I should still be able to see a red warning beside the submit button
And I should be able to see that the required fields which I forget to fill are highlighted in red.
As a: person who cares about the security of using HELP especially in the war situation,
I want: to ensure the identity of each user who is allowed to post information on this platform has been verified,
So that: users can use this platform without worrying too much.
Scenario 1: Getting access to the login dialog from anywhere (from map page) if the user has never logged in
Given: I am on the "map" page
When: I click the "profile" icon on the navigation bar
Then: I should see a sign-in dialog
Scenario 2: Getting access to the login dialog from anywhere (from deceased information page) if the user has never logged in
Given: I am on the "deceased_posts" page
When: I click the "profile" icon on the navigation bar
Then: I should see a sign-in dialog
Scenario 3: Closing the dialog page
Given: the sign-in dialog is open
When: I click the "close" icon
Then: the sign-in dialog is closed
Scenario 4: Getting access to Google Authentication page
Given: the sign-in dialog is open
When: I click the button "Sign in with Google" to sign in
Then: I will be redirected to the Google Authentication page
Scenario 5: User information is displayed after login successfully
Given: Google has verified the user's identity
Then: I will be redirected to the page "deceased_posts" I browsed previously
And I should see the profile icon on the navigation bar is replaced with his Google profile avatar
Scenario 6: Ensure that user cannot access the sign-in page after he has logged in
Given: I have signed in
When: I click on my profile avatar on the navigation bar (where I clicked to access the sign-in page previously)
Then: I should see a small menu including two menu items "Settings" and "Log out"
Then: I should see my username
Scenario 7: A new user signs in with Twitter
Given: Twitter has verified my identity
Then: I should see a new sign-up dialog reminding me to type in my username if I want to create a new account
And: the button "CONTINUE" is disabled since I have not finished the required field "Username"
Scenario 8: A new user successfully registers and signs in with Twitter
Given: I see a new sign-up dialog
When: I fill in the "name" field with my username
Then: the button "CONTINUE" is enabled
When: I click the button "CONTINUE"
Then: I should be redirected to the page "deceased_posts" where I browsed previously
And I should see the profile icon on the navigation bar is replaced with my Twitter account avatar
Scenario 9: An old user forgets that which third-side platform he used to log in before
Given: the sign-in dialog is open and the user forgets which third-party provider he used to sign in with
And I guessed wrongly and click the button "Sign in with Google" to sign in
And Google has verified my identity
And I see a new sign-up dialog
When: I click the button "I HAVE HAD AN ACCOUNT"
Then: the sign-up dialog closes
And I should see the sign-in dialog
Scenario 10: Getting access to HELP's Terms of service
Given: the sign-in dialog is open
When: I click on the "Terms of Service"
Then: I should be redirected to "Terms of Service" page
Scenario 11: Getting access to HELP's Privacy Policy
Given: the sign-in dialog is open
When: I click on the "Privacy Policy"
Then: I should be redirected to "Privacy Policy" page
Scenario 12: Log out
Given: I have logged in
When: I click on the profile avatar on the navigation bar
And I click "Log out"
Then: My profile avatar is replaced with the profile icon
Scenario 13: Ensuring the user is allowed to access the login page again after logging out
Given: I have logged out
When: I click on the profile icon on the navigation bar
Then: the sign-in dialog is open
Scenario 14: Make users unable to report dangerous locations without signing in
Given: I never log in
When: I click on the "add" icon on the map page
And I fill all the required fields of the form to report the dangerous locations
And I click "Post"
Then: the sign-in dialog opens
When: I log in successfully
And I click "Post" again
Then: I should see a success toast
And I should be redirected to the map page
As a: person who wants to pass on more information about the people who are found died he knows to help more people finding their loved ones
I want: to know whether the deceased who are posted are be identified and claimed by their relatives
so that: I do not need to worry about the status of the claimed buried body and pass on the knowledge of them
As a: desperate person finding his father, Eric
I want: to know whether some of them have been claimed by others if multiple posts match the characteristics of my father since the posters cannot get the completed information of the buried body sometimes
so that: I can narrow down the scope and I do not need to check the information with the police one by one
As a: point of contact for requesting for deceased posts information, tony
I want: an easy way to manage and see the posts that have been claimed and closed
so that: I won’t waste time and manpower accidentally investigating a post that has already been claimed
Scenario 1
Given: I have logged in as an administrator
And I am on the “Detailed Information” page of the deceased information post whose id is 7
Then: I should be able to see the “Close” button at the bottom of the page.
Scenario 2
Given: I have logged in as an administrator
And I am on the “Detailed Information” page of the deceased information post whose id is 7
When: I click “Close” button
Then: I will get back where I browsed before I click the deceased post whose id is 7
And I should be able to see a successful toast
And I should be able see the post I closed is marked as “Claimed”
Scenario 3
Given: I have logged in as an general user
And I am on the “Detailed Information” page of the deceased information post whose id is 7
Then: I should not be able to see the “Close” button at the bottom of the page.
Scenario 4
Given: I have not logged in
And I am on the “Detailed Information” page of the deceased information post whose id is 7
Then: I should not be able to see the “Close” button at the bottom of the page.
As a: person who is the administrator of the platform
I want: to get the full information of the buried body, including the private information
so that: I can pass the information to the policemen after they have verified the identity of the people who are related to the buried body
Scenario 1
Given: I have logged in as an administrator
And I am on the “Detailed Information” page of the deceased information post whose id is 7
Then: I should be able to see the completed information about the deceased including any photo and the exact burial location
Scenario 2
Given: I have logged in as a general user
And I am on the “Detailed Information” page of the deceased information post whose id is 7
Then: I should not be able to see any photos and the exact burial location
Scenario 3
Given: I have not logged in
And I am on the “Detailed Information” page of the deceased information post whose id is 7
Then: I should not be able to see any photos and the exact burial location
As a: owner of the app, Tony
I want: to remove inaccurate information from the app to ensure the information on the app is accurate
so that: I don’t have to spend time tracking down the owner of each post and asking them to remove the posts
Scenario 1
Given: I have logged in as an administrator
And I am on the “Detailed Information” page of the deceased information post whose id is 7
Then: I should be able to see the “Delete post” button at the bottom of the page.
Scenario 2
Given: I have logged in as an administrator
And I am on the “Detailed Information” page of the deceased information post whose id is 7
When: I click “Delete post” button
Then: I will get back where I browsed before I click the deceased post whose id is 7
And I should be able to see a successful toast
And I should not be able see the post in the “deceased posts” page
Scenario 3
Given: I have logged in as an general user of id 5
And I am on the “Detailed Information” page of the deceased information post whose id is 7
Then: I should not be able to see the “Delete post” button at the bottom of the page.
Scenario 4
Given: I have not logged in
And I am on the “Detailed Information” page of the deceased information post whose id is 7
Then: I should not be able to see the “Delete post” button at the bottom of the page.
As a: administrator of the app
I want: to ban users who are using the app maliciously
so that: the app is safe for people who needs it and build trust in the app
Scenario 1
Given: I have logged in as an administrator
And I am on the “User profile” page of the user whose id is 7
Then: I should be able to see the “Ban user” button at the bottom of the page.
Scenario 2
Given: I have logged in as an administrator
And I am on the “User profile” page of the deceased information post whose id is 7
When: I click “Ban user” button
Then: I will get back where I browsed before I click the user profile whose id is 7
And I should be able to see a successful toast
And I should be able see the user is banned
Scenario 3
Given: I have logged in as an general user
And I am on the “User profile” page of the deceased information post whose id is 7
Then: I should not be able to see the “Ban user” button at the bottom of the page.