# Rideshare app — release test plan

## Sign up and sign in (AUTH)

| ID | Journey | Preconditions | Steps | Expected result | WEB | AND | IOS |
|---|---|---|---|---|---|---|---|
| AUTH-01 | Sign up with an email address | No account for this email | 1. Open the app. 2. Tap Create account. 3. Enter a name, email and password. 4. Submit. | The account is created and the app opens on the home screen. A verification email arrives within a minute. | | | |
| AUTH-02 | Wrong password shows a clear error | An existing account | 1. Sign in with the right email and a wrong password. | A message says the email or password is wrong. The password field is cleared; the email is kept. | | | |
| AUTH-03 | Reset a forgotten password | An existing account | 1. Tap Forgot password. 2. Enter the email. 3. Open the link in the email. 4. Set a new password. | The new password signs you in. The old one no longer works. | | | |
| AUTH-04 | Sign out on one device only | Signed in on two devices | 1. Sign out on device A. | Device A returns to the sign-in screen. Device B stays signed in. | | | |

## Booking a ride (RIDE)

| ID | Journey | Preconditions | Steps | Expected result | WEB | AND | IOS |
|---|---|---|---|---|---|---|---|
| RIDE-01 | Set pickup from current location | Location permission granted | 1. Open the app. 2. Tap Use my location. | The pickup pin lands on the street you are on, and the address matches. | | | |
| RIDE-02 | See the fare before confirming | A pickup and destination set | 1. Enter a destination. 2. Wait for the estimate. | A fare and an arrival time are shown before any Confirm button. | | | |
| RIDE-03 | Cancel within the free window | A booked ride, under 2 minutes old | 1. Open the ride. 2. Tap Cancel. | The ride is cancelled and no fee is charged. The screen says so. | | | |
| RIDE-04 | Booking with no network | Aeroplane mode on | 1. Try to book a ride. | A message says there is no connection. Nothing is booked, and nothing is charged. | N/A | | |

## Payments (PAY)

| ID | Journey | Preconditions | Steps | Expected result | WEB | AND | IOS |
|---|---|---|---|---|---|---|---|
| PAY-01 | Pay with a saved card | A saved card | 1. Finish a ride. 2. Pay with the saved card. | The payment succeeds and a receipt appears within a minute. | | | |
| PAY-02 | Declined card is handled | A card that will decline | 1. Finish a ride. 2. Pay with the declining card. | A message says the card was declined and offers another method. The ride stays unpaid, not cancelled. | | | |
| PAY-03 | Receipt matches the fare | A completed, paid ride | 1. Open the receipt. | The total matches what was shown at booking, including any surcharge, itemised. | | | |

## Notifications (PUSH)

| ID | Journey | Preconditions | Steps | Expected result | WEB | AND | IOS |
|---|---|---|---|---|---|---|---|
| PUSH-01 | Driver-arriving alert | A booked ride, notifications allowed | 1. Wait for the driver to arrive. | A notification says the driver has arrived, and tapping it opens the ride. | N/A | | |
| PUSH-02 | Notifications off is respected | Notifications denied | 1. Book a ride and wait. | No notification appears, and the app does not crash or nag on every screen. | N/A | | |
