# Smoke Tests A comprehensive test that we can run once in several sprints to check that all main features are working. This can be a base of automated tests \--- ## 1\. Installation & Update

#  

Use Case

Steps

Expected Result

Result

1.1

Fresh install — Android

1. Uninstall any existing version
2. Install the new APK/AAB on a clean device
3. Launch the app

App installs without errors; splash screen and onboarding are shown


1.2

Fresh install — iOS

1. Uninstall any existing version
2. Install the new IPA on a clean device
3. Launch the app

App installs without errors; splash screen and onboarding are shown


1.3

Fresh install — complete login flow

1. Fresh install
2. Complete onboarding
3. Enter instance URL and credentials
4. Log in

User is authenticated and lands on Home dashboard


1.4

Fresh install — no leftover data

1. Fresh install after a previous installation existed
2. Launch app

No stale data, cached credentials, or broken state from the previous install


1.5

Update over existing install — Android

1. Install the previous release version
2. Log in and navigate to a few screens
3. Install the new build on top (without uninstalling)

App updates successfully; existing session is preserved


1.6

Update over existing install — iOS

1. Install the previous release version via TestFlight or direct install
2. Log in and use the app
3. Install the new build on top

App updates successfully; existing session is preserved


1.7

Session preserved after update

1. Log in on the old version
2. Update to the new build without uninstalling

User is still logged in after update; no forced re-login unless intentional


1.8

Cached data intact after update

1. Use the app on old version (load projects, work packages)
2. Update to new build
3. Open the app

Previously cached content is still accessible or gracefully refreshed


1.9

Settings preserved after update

1. Change user preferences (e.g., activity order, notification settings) on old version
2. Update to new build

User preferences are retained after the update


\--- ## 2\. Login & Authentication

#

Use Case

Steps

Expected Result

Result

2.1

Launch app (not logged in)

Cold-start the app with no active session

Splash screen appears briefly, then redirects to Sign In page


2.2

Sign in with valid credentials

1. Enter valid server URL
2. Enter correct email & password
3. Tap Sign In

User is authenticated and redirected to Home dashboard


2.3

Sign in with wrong password

1. Enter valid server URL
2. Enter correct email, wrong password
3. Tap Sign In

Error message is shown; user remains on Sign In page


2.4

Sign in with no internet connection

1. Enter valid server URL
2. Tap Sign In

Error message is shown


2.5

Sign in to a wrong server instance

1. Enter an invalid URL (i.e. google.com)
2. Tap Sign In
3. Observe the wrong web page
4. Close the web page

Error message is shown; user remains on Sign In page


2.6

Instance selection via bottom sheet

1. On Sign In page, tap the instance selector control
2. Select or enter a different instance URL

Bottom sheet opens; selected instance URL is applied to the sign-in form


2.7

Session persistence after app restart

1. Log in successfully
2. Close and reopen the app

User lands directly on Home dashboard without seeing Sign In page


2.8

Sign out

1. Navigate to Account/User section
2. Tap Logout
3. Confirm if prompted

User is signed out and redirected to Sign In page; session is cleared


\--- ## 3\. Onboarding

#

Use Case

Steps

Expected Result

Result

3.1

First-time onboarding shown

Install a fresh build and launch the app for the first time

Onboarding carousel is shown before the login screen


3.2

Swipe through onboarding pages

Swipe left through all onboarding slides

Each slide advances; progress indicator updates


3.3

Skip onboarding

Tap the Skip button on any onboarding page

Onboarding is dismissed; user is taken to Sign In page


3.4

Complete onboarding

Advance through all slides to the last one and tap Continue/Get Started

User is taken to Sign In page


3.5

Onboarding not shown on second launch

Complete onboarding, close the app, reopen it

Onboarding is not shown again; app goes to Sign In or Home directly


\--- ## 4\. Home Dashboard

#

Use Case

Steps

Expected Result

Result

4.1

Dashboard loads with widgets

Log in and navigate to the Home tab

Home dashboard loads; visible widgets display their content without errors


4.2

Notifications widget

View the Notifications widget on Home

Widget shows the count of unread notifications


4.3

Assigned to Me widget

View the Assigned to Me widget

Widget lists work packages currently assigned to the logged-in user


4.4

Recently Edited widget

View the Recently Edited widget

Widget shows recently modified work packages


4.5

Favorite Projects widget

View the Favorite Projects widget

Widget shows the user's starred/favorited projects


4.6

Time Tracker widget

View the Time Tracker widget

Widget shows weekly tracked time summary


4.7

Tap a work package in a widget

Tap any work package listed in a Home widget

App navigates to the Work Package Details screen for that item


4.8

Tap a project in Favorite Projects

Tap a project in the Favorite Projects widget

App navigates to that project's overview


4.9

Pull to refresh

Pull down on the Home dashboard

Dashboard data refreshes; widgets reload their content


\--- ## 5\. Projects / Workspaces

#

Use Case

Steps

Expected Result

Result

5.1

Projects list loads

Navigate to the Workspaces/Projects tab

List of accessible projects is displayed


5.2

Search projects

Tap the search field and type a partial project name

List filters to show matching projects only


5.3

Filter by project type

Apply a project type filter

Only projects matching the selected type are shown


5.4

Toggle favorites view

Switch between "All Projects" and "Favorites" view

List updates to show only favorited projects or all projects accordingly


5.5

Open project overview

Tap on a project in the list

Project Overview page opens showing project details


5.6

Project overview tabs

Inside a project, switch between the available tabs (Details, Work Packages, Subprojects, etc.)

Each tab loads its content correctly


5.7

Navigate to work packages from project

Inside a project's Work Packages tab, tap a work package

Work Package Details screen opens for that item


5.8

Subprojects list

Open a project that has subprojects and view the Subprojects tab

Subprojects are listed under that parent project


\--- ## 6\. Work Packages #### 6a. Work Package List

#

Use Case

Steps

Expected Result

Result

6.1

Work packages list loads

Navigate to the Work Packages tab

List of work packages loads correctly


6.2

Filter work packages by status

Apply a status filter (e.g., "In Progress")

Only work packages with that status are shown


6.3

Filter by assignee

Apply an assignee filter

Only work packages assigned to that person are shown


6.4

Search work packages

Type a query in the search field

List filters to work packages matching the query


6.5

Pull to refresh

Pull down on the work packages list

List refreshes with latest data from the server


6.6

Tap a work package

Tap any item in the list

Work Package Details screen opens


#### 6b. Work Package Details

#

Use Case

Steps

Expected Result

Result

6.7

Details screen loads

Open any work package

Title, type, status, and description are displayed correctly


6.8

Switch to Activity tab

In Work Package Details, tap the Activity tab

Activity/comment history is displayed


6.9

Switch to Attachments tab

Tap the Attachments tab

Uploaded files are listed (or empty state shown)


6.10

Switch to Relations tab

Tap the Relations tab

Related work packages are listed


6.11

View a file attachment

Tap an attachment in the Attachments tab

File preview or download opens


#### 6c. Create Work Package

#

Use Case

Steps

Expected Result

Result

6.12

Open create form

Tap the "+" / Create button on the Work Packages screen

Create Work Package form opens


6.13

Create with required fields

1. Select a project
2. Select a type
3. Enter a subject/title
4. Tap Save

New work package is created; user is navigated to its details or back to the list


6.14

Validation on empty title

Leave the subject/title field empty and tap Save

Validation error is shown; work package is not created


6.15

Cancel creation

Open the create form and tap Cancel/Back

Form closes; no work package is created


#### 6d. Edit Work Package

#

Use Case

Steps

Expected Result

Result

6.16

Edit title

Open work package details, tap Edit, change the title, save

Updated title is reflected in the details view


6.17

Change status

In work package details or edit form, change the status field

Status updates and the change appears in the Activity tab


6.18

Change assignee

Edit the assignee field and save

New assignee is shown in the details


6.19

Edit description

Open the description editor, make a change, save

Updated description is rendered in the details view


6.20

Add a comment

In the Activity tab, type a comment and submit

Comment appears in the activity timeline


\--- ## 7\. Time Tracking #### 7a. Time Tracking Overview

#

Use Case

Steps

Expected Result

Result

7.1

Time tracking page loads

Navigate to the Time Tracking tab

Calendar view loads with existing time entries


7.2

Navigate calendar dates

Tap previous/next day or week in the calendar

View updates to show entries for the selected period


7.3

View daily time entries

Tap a specific date in the calendar

Time entries for that day are displayed below


7.4

Weekly hours summary

View the time tracking page for a week

Total hours logged for the week are shown


#### 7b. Focus Timer

#

Use Case

Steps

Expected Result

Result

7.5

Open focus timer

Navigate to the Timer tab within Time Tracking

Focus timer page shows with a circular timer at 00:00


7.6

Start timer

Tap the Start button

Timer begins counting up; Start changes to Pause


7.7

Pause and resume timer

Tap Pause, then tap Resume

Timer pauses at the current time; resuming continues from that point


7.8

Stop timer

Tap Stop

Timer stops; Create Log Time form opens to finalize the entry


7.9

Link work package to timer

Before or during timing, select a work package to link

Timer shows the linked work package name


#### 7c. Log Time Entry

#

Use Case

Steps

Expected Result

Result

7.10

Create log time entry

1. Open Create Log Time form
2. Select work package
3. Enter hours
4. Select activity type
5. Tap Save

Time entry is saved and appears in the time tracking calendar


7.11

Validation on empty hours

Submit log time form without entering hours

Validation error is shown; entry is not saved


7.12

Date selection

Change the date field to a past date and save

Time entry is saved for the selected date


\--- ## 8\. Global Search

#

Use Case

Steps

Expected Result

Result

8.1

Open global search

Tap the Search icon in the navigation

Global Search screen opens with Work Packages and Projects tabs


8.2

Search for a work package

Type a work package title in the search field (Work Packages tab)

Matching work packages appear in the results list


8.3

Search for a project

Switch to the Projects tab and type a project name

Matching projects appear in results


8.4

Filter search results

Apply a filter (status, type, etc.) within Work Packages search

Results are narrowed to match the applied filter


8.5

Navigate to result

Tap a work package in search results

Work Package Details screen opens for that item


8.6

Navigate to project result

Tap a project in search results

Project Overview page opens


8.7

Empty state

Search for a string with no matches

Empty state message is shown; no crash


8.8

Clear search query

Clear the search input field

Results reset; prior state or empty prompt is shown


\--- ## 9\. Notifications

#

Use Case

Steps

Expected Result

Result

9.1

Notifications list loads

Navigate to the Notifications tab

List of notifications is displayed


9.2

Notification count badge

Check the Notifications tab icon when there are unread notifications

Badge shows correct unread count


9.3

View notification details

Tap a notification in the list

Associated work package details are shown inline or the user is navigated to it


9.4

Notification reason

Tap or long-press a notification to see the reason

Bottom sheet or tooltip explains why the user was notified (e.g., "Assigned to you")


9.5

Mark as read

Mark a notification as read (if the action is available)

Notification is marked read; unread count decreases


9.6

Empty state

View Notifications when there are none

Empty state message is displayed; no crash


9.7

Pull to refresh

Pull down on the notifications list

List refreshes with latest notifications


\--- ## 10\. User Profile & Settings #### 10a. User Profile

#

Use Case

Steps

Expected Result

Result

10.1

Open user profile

Navigate to Account/User tab

User profile page shows name, email, and avatar


10.2

View account details

Tap on Account Details

Account info page opens with the user's profile data


10.3

View another user's profile

Tap a user's avatar or name (e.g., in work package details)

That user's profile view opens with their basic info


#### 10b. Notification Settings

#

Use Case

Steps

Expected Result

Result

10.4

Open notification settings

Go to Settings → User Notifications

Notification preferences screen opens


10.5

Toggle a notification preference

Toggle an email notification setting on or off

Setting is saved; toggle reflects the new state after navigating away and back


#### 10d. Work Package Settings

#

Use Case

Steps

Expected Result

Result

10.6

Open work package settings

Go to Settings → Work Package Settings

Settings page opens


10.7

Change activity sort order

Switch activity order between newest/oldest first

Setting is saved; activity in work packages reflects the chosen order


\--- ## 11\. Rich Text Editor

#

Use Case

Steps

Expected Result

Result

11.1

Open editor

Edit the description of a work package or add a comment

Rich text editor opens


11.2

Bold text

Select text and tap the Bold button

Selected text becomes bold


11.3

Italic text

Select text and tap the Italic button

Selected text becomes italic


11.4

Bullet list

Tap the unordered list button and type items

Bullet list is created


11.5

Numbered list

Tap the ordered list button and type items

Numbered list is created


11.6

Add a hyperlink

Tap the link button, enter a URL and display text

Link is inserted and rendered as clickable text


11.7

Heading formatting

Select a heading level and type

Text is rendered as a heading


11.8

Mention a user

Type @ followed by a username

Autocomplete suggestion appears; selecting it inserts a user mention


11.9

Mention a work package

Type # followed by a work package ID or title

Autocomplete suggestion appears; selecting it inserts a work package link


11.10

Save edited content

Make changes and tap Save/Done

Changes are persisted and rendered correctly in the details view


11.11

Discard changes

Make changes and tap Cancel/Back without saving

Changes are discarded; original content is unchanged


\--- ## 12\. Share to App (External File Sharing)

#

Use Case

Steps

Expected Result

Result

12.1

Share a file from another app

From the device Files app (or another app), share a file and select OpenProject

OpenProject opens the Share page with the file ready to attach


12.2

Select a project for attachment

On the Share page, select a target project

Project is selected and work packages for that project are available


12.3

Select a work package

Select a work package to attach the file to

Work package is confirmed as the attachment target


12.4

Confirm attachment upload

Tap Attach/Confirm

File is uploaded to the selected work package; success state is shown


12.5

Cancel sharing

Open the Share page and tap Cancel/Back

App closes the share intent; no file is uploaded


\--- ## 13\. Navigation & General

#

Use Case

Steps

Expected Result

Result

13.1

Bottom navigation tabs

Tap each icon in the bottom navigation bar

Each tab navigates to the correct screen


13.2

Back navigation

Navigate into a deep screen and tap the back button/gesture

App navigates back through the screen stack correctly


13.3

Deep link to work package

Open a valid deep link to a work package (e.g., from a email)

App opens and navigates directly to the correct work package


13.4

App runs without crashes (baseline)

Use the app normally for 5 minutes across multiple screens

No unexpected crashes or ANR (unresponsive) events occur