← Back to Home

Test Cases

100+ Test Cases
15 Categories
6 Languages

1. Journey Management

TC-1.1Create New Journey

Preconditions: App is installed and onboarding is completed
  1. Navigate to Journeys List (Tab 3)
  2. Tap "+" button
  3. Enter journey name: "Paris Vacation 2026"
  4. Enter destination: "Paris, France"
  5. Select start date: Tomorrow
  6. Select end date: 7 days from tomorrow
  7. Add notes: "Summer trip to Paris"
  8. Tap "Save"
Expected Result:
  • Journey is created and appears in the list
  • Journey shows correct name, destination, and dates
  • Journey status shows as "Upcoming"

TC-1.2Create Journey - Validation

Preconditions: App is on Journey Form screen
  1. Leave journey name empty
  2. Tap "Save"
Expected Result:
  • Form shows validation error
  • Journey is not created
  • Name field is highlighted

TC-1.3Edit Journey

Preconditions: At least one journey exists
  1. Navigate to Journeys List
  2. Tap on an existing journey
  3. Tap "Edit" button
  4. Change destination to "Lyon, France"
  5. Tap "Save"
Expected Result:
  • Journey is updated with new destination
  • Changes are reflected in the list

TC-1.4Delete Journey

Preconditions: At least one journey exists
  1. Navigate to Journeys List
  2. Swipe left on a journey
  3. Tap "Delete"
  4. Confirm deletion
Expected Result:
  • Journey is removed from the list
  • All related entities are deleted
  • Related reminders and notifications are cancelled

TC-1.5Filter Journeys by Status

Preconditions: Multiple journeys exist with different statuses
  1. Navigate to Journeys List
  2. Tap "Upcoming" filter
  3. Tap "Active" filter
  4. Tap "Past" filter
Expected Result:
  • Each filter shows only journeys matching the selected status

2. Transport Management

TC-2.1Add Flight

Preconditions: A journey exists and is selected
  1. Navigate to Journey Detail (Tab 2)
  2. Tap Quick Add button (+)
  3. Select "Transport"
  4. Select type: "Flight"
  5. Enter airline: "Air France"
  6. Enter flight number: "AF1234"
  7. Enter departure/arrival locations
  8. Select dates and times
  9. Enter terminal and booking reference
  10. Tap "Save"
Expected Result:
  • Flight is added to the journey
  • Flight appears in Transport section
  • Correct icon (airplane) is displayed

TC-2.2Add Train

Preconditions: A journey exists
  1. Add transport with type "Train"
  2. Enter train company and number
  3. Enter departure/arrival stations
  4. Enter platform information
  5. Tap "Save"
Expected Result:
  • Train is added with correct platform label
  • Train icon is displayed

TC-2.3Transport Detail View

Preconditions: A transport exists
  1. Navigate to Transport List
  2. Tap on a transport item
Expected Result:
  • Detail view shows all transport information
  • Countdown to departure is displayed (if upcoming)
  • Copy booking reference action works

3. Hotel Management

TC-3.1Add Hotel

Preconditions: A journey exists
  1. Tap Quick Add button
  2. Select "Hotel"
  3. Enter name and address
  4. Select check-in/check-out dates
  5. Enter room type and booking reference
  6. Tap "Save"
Expected Result:
  • Hotel is added to the journey
  • Hotel appears in Hotels section
  • Nights count is calculated correctly

TC-3.2Hotel Detail View

Preconditions: A hotel exists
  1. Navigate to Hotels List
  2. Tap on a hotel
Expected Result:
  • All hotel details are displayed
  • Nights count is shown
  • Call hotel action works (if phone provided)

4. Car Rental Management

TC-4.1Add Car Rental

Preconditions: A journey exists
  1. Tap Quick Add button
  2. Select "Car Rental"
  3. Enter car type (required)
  4. Enter pickup/dropoff locations (optional)
  5. Select dates and times
  6. Tap "Save"
Expected Result:
  • Car rental is added to the journey
  • Only car type field is required
  • Rental duration is calculated correctly

TC-4.2Car Rental with Different Locations

Preconditions: A journey exists
  1. Add car rental with different pickup and dropoff locations
  2. Tap "Save"
Expected Result:
  • Both locations are saved and displayed correctly

5. Document Management

TC-5.1Add PDF Document

Preconditions: A journey exists
  1. Tap Quick Add button
  2. Select "Document"
  3. Select a PDF file from device
  4. Enter custom name
  5. Tap "Save"
Expected Result:
  • PDF is saved to the journey
  • Document appears in Documents list
  • PDF icon is displayed

TC-5.2View PDF Document

Preconditions: A PDF document exists
  1. Navigate to Documents List
  2. Tap on the PDF document
Expected Result:
  • PDF opens in preview view
  • Zoom and scroll work
  • Page navigation works (if multi-page)

TC-5.3Import via Share Extension

Preconditions: App is installed, Share Extension is enabled
  1. Open Files app or Photos
  2. Select a document/image
  3. Tap Share
  4. Select "Journey Wallet"
  5. Select target journey
  6. Confirm
Expected Result:
  • File is imported to selected journey
  • Document appears in journey's document list

TC-5.4Document Search Navigation

Preconditions: A document exists
  1. Go to MainView (Tab 1)
  2. Search for the document name
  3. Tap on the document in search results
Expected Result:
  • Navigate to journey's document list
  • Document preview opens automatically

6. Notes Management

TC-6.1Add Note

Preconditions: A journey exists
  1. Tap Quick Add button
  2. Select "Note"
  3. Enter title and content
  4. Tap "Save"
Expected Result:
  • Note is added to the journey
  • Note appears in Notes list

7. Places to Visit

TC-7.1Add Place to Visit

Preconditions: A journey exists
  1. Tap Quick Add button
  2. Select "Place to Visit"
  3. Enter name and address
  4. Select category (Attraction, Restaurant, etc.)
  5. Tap "Save"
Expected Result:
  • Place is added to the journey
  • Place appears in Places to Visit list

TC-7.2Mark Place as Visited

Preconditions: A place exists and is not visited
  1. Navigate to Places List
  2. Tap checkbox on a place
Expected Result:
  • Place is marked as visited
  • Visual indicator shows visited status

8. Budget & Expenses

TC-8.1Add Expense

Preconditions: A journey exists
  1. Tap Quick Add button
  2. Select "Expense"
  3. Enter title and amount
  4. Select currency and category
  5. Tap "Save"
Expected Result:
  • Expense is added to the journey
  • Expense appears in Budget view
  • Total spending is updated

TC-8.2Multi-Currency Expenses

Preconditions: A journey exists
  1. Add expense in EUR
  2. Add expense in USD
  3. Add expense in GBP
  4. View Budget
Expected Result:
  • All expenses are displayed
  • Currency is shown for each expense

9. Reminders & Notifications

TC-9.1Create Reminder for Transport

Preconditions: A transport exists
  1. Open transport detail view
  2. Tap "Add Reminder"
  3. Select "3 hours before"
  4. Tap "Save"
Expected Result:
  • Reminder is created
  • Local notification is scheduled
  • Reminder appears in Notifications tab

TC-9.2Reminder Notification Received

Preconditions: A reminder is set for a specific time
  1. Create reminder for 1 minute in the future
  2. Wait for notification
Expected Result:
  • Push notification appears at scheduled time
  • Notification contains correct title and journey info

10. Search Functionality

TC-10.1Search Journey by Name

Preconditions: Journeys exist
  1. Navigate to MainView
  2. Tap search bar
  3. Type journey name
Expected Result:
  • Matching journeys appear in results
  • Results show journey icon and type label

TC-10.2Search Result Navigation

Preconditions: Various entities exist
  1. Search for an entity
  2. Tap on the result
Expected Result:
  • Journey → JourneyDetailView
  • Transport → TransportDetailView
  • Hotel → HotelDetailView
  • Document → DocumentListView (auto-opens document)

TC-10.3Clear Search

Preconditions: Search results are displayed
  1. Tap clear button (X) in search bar
Expected Result:
  • Search query is cleared
  • Results are cleared
  • Keyboard is dismissed

11. Statistics

TC-11.1View Statistics on MainView

Preconditions: Multiple journeys with data exist
  1. Navigate to MainView (Tab 1)
Expected Result:
  • Total journeys count is correct
  • Upcoming trips count is correct
  • Destinations visited is correct

12. Data Management

TC-12.1iCloud Backup - Manual

Preconditions: iCloud is signed in
  1. Navigate to Settings
  2. Tap "Backup Now"
Expected Result:
  • Backup is created
  • Success message is shown
  • Backup timestamp is updated

TC-12.2Export Data (JSON)

Preconditions: Data exists in app
  1. Navigate to Settings
  2. Tap "Export Data"
  3. Select export location
Expected Result:
  • JSON file is exported
  • File contains all journeys and related data

14. Localization

TC-14.1Language Support

Preconditions: Device language is set to supported language
  1. Set device language to each supported language
  2. Navigate through all screens
Expected Result:
  • English - All UI text in English
  • German - All UI text in German
  • Russian - All UI text in Russian
  • Turkish - All UI text in Turkish
  • Kazakh - All UI text in Kazakh
  • Ukrainian - All UI text in Ukrainian

15. Accessibility

TC-15.1VoiceOver Navigation

Preconditions: VoiceOver is enabled
  1. Navigate through app using VoiceOver
  2. Interact with buttons and forms
Expected Result:
  • All elements are accessible
  • Labels are read correctly
  • Actions can be performed

TC-15.2Dynamic Type

Preconditions: Accessibility text size is modified
  1. Set text size to largest
  2. Navigate through screens
  3. Set text size to smallest
  4. Navigate through screens
Expected Result:
  • Text scales appropriately
  • UI remains usable
  • No text is cut off

Regression Test Checklist

After each release, verify:

  • All journey CRUD operations work
  • All transport types can be added
  • Hotels can be added and edited
  • Car rentals work correctly
  • Documents can be imported and viewed
  • Notes can be created and edited
  • Places can be added and marked as visited
  • Expenses calculate correctly
  • Reminders trigger notifications
  • Search returns correct results
  • Search navigation works for all entity types
  • Backup and restore work
  • All 6 languages display correctly
  • Dark mode works
  • VoiceOver is functional