Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat: Test cases for Notification test tool #187

Merged
merged 4 commits into from
Oct 8, 2024
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions data/test-by-folder.json
Original file line number Diff line number Diff line change
Expand Up @@ -3272,6 +3272,16 @@
"Mobile V2: Threads - Save and Unsave Thread"
]
},
{
"folder": "notification-test-tool",
"tests": [
"Android app | User can generate test notification from mobile app and verify on the Browser and Desktop and Mobile app",
"LINUX OS | User can generate test notification from a browser and verify on the Desktop and Mobile app",
"MAC OS | User can generate test notification from a browser and verify on the Desktop and Mobile app",
"WIN OS | User can generate test notification from a browser and verify on the Desktop and Mobile app",
"iOS app | User can generate test notification from mobile app and verify on the Browser and Desktop and Mobile app"
]
},
{
"folder": "omnibus",
"tests": [
Expand Down
85 changes: 85 additions & 0 deletions data/test-cases/notification-test-tool/1-MAC.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
---
# (Required) Ensure all values are filled up
name: "MAC OS | User can generate test notification from a browser and verify on the Desktop and Mobile app"
status: Active
priority: Normal
folder: Notification Test Tool
authors: "@yasserfaraazkhan"
team_ownership:
- ICU
priority_p1_to_p4: P2 - Core Functions (Do core functions work?)

# (Optional)
location: null
component: null
tags: []
labels: []
tested_by_contributor: ''

# (Optional) Test type and tools
cypress: N/A
detox: N/A
mmctl: N/A
playwright: N/A
rainforest: []
manual_test_environments: []

# Do not change
id: null
key: null
created_on: null
last_updated: null
case_hashed: null
steps_hashed: null
---

**Step 1**

Prerequisite:

1. Log in to Browser, Mobile and desktop using 1 user account.

### Scenario 1: User can generate notification successfully from Chrome/Safari/Firefox and verifies it on Desktop and Mobile app.

1. Log into server using any browser.
2. Enable browser notification to be received for this server.
3. Go to the Settings > Notification.
4. Click on `Send a test notification`.
5. Verify the browser pop up the notification from @system-bot.
6. Verify the DM list has an unread message from @system-bot.
7. Verify the Desktop pop-up is also visible in the notification center.
8. Look into mobile app notification section.
9. Verify the DM notification from @system-bot is received.

### Scenario 2: User should not receive notification when the system is in **Focus mode**.

1. Log into server using any browser.
2. Enable browser notification to be received for this server.
3. Go to the Settings > Notification.
4. Click on `Send a test notification`.
5. Verify the notification is not received on the Browser and Desktop.
6. Verify the notification is received on the mobile app.

### Scenario 3: User can customize notification permissions at the system level (Mac OS).

1. Log into the Mattermost desktop app.
2. Open System Preferences > Notifications on macOS.
3. Set Mattermost notifications to Allow.
4. In the Mattermost app, go to Settings > Notifications.
5. Click on Send a test notification.
6. Verify a system pop-up notification is visible.
7. Verify the notification is also available in the macOS Notification Center.
8. Change Mattermost notification settings in macOS to Do Not Disturb.
9. Click Send a test notification again.
10. Verify no notification pop-up is visible on browser and desktop app.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But should be visible in mobile app correct?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes.
I'll add a step to verify this.


### Scenario 4: Browser notifications are disabled (Mac OS).

1. Open Chrome or Safari.
2. Log into the server.
3. Ensure browser notification permissions for Mattermost are disabled.
4. Go to Settings > Notifications in Mattermost.
5. Click Send a test notification.
6. Verify no notification is received in the browser or system.
7. Enable notifications via Browser Settings > Privacy and Security > Notifications.
8. Test again to ensure the browser pop-up appears.
58 changes: 58 additions & 0 deletions data/test-cases/notification-test-tool/2-WIN.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
# (Required) Ensure all values are filled up
name: "WIN OS | User can generate test notification from a browser and verify on the Desktop and Mobile app"
status: Active
priority: Normal
folder: Notification Test Tool
authors: "@yasserfaraazkhan"
team_ownership:
- ICU
priority_p1_to_p4: P2 - Core Functions (Do core functions work?)

# (Optional)
location: null
component: null
tags: []
labels: []
tested_by_contributor: ''

# (Optional) Test type and tools
cypress: N/A
detox: N/A
mmctl: N/A
playwright: N/A
rainforest: []
manual_test_environments: []

# Do not change
id: null
key: null
created_on: null
last_updated: null
case_hashed: null
steps_hashed: null
---

**Step 1**

Prerequisite:

1. Log in to Browser, Mobile and desktop using 1 user account.

### Scenario 5: System-level notifications (Windows 10/11).

1. Log into the Mattermost desktop app.
2. Go to Settings > Notifications in Mattermost and enable notifications.
3. Open Settings > System > Notifications in Windows.
4. Ensure notifications for Mattermost are enabled.
5. Click Send a test notification.
6. Verify the notification appears in the Windows Action Center.
7. Disable Mattermost notifications in Windows system settings and test again to ensure no notification is shown.

### Scenario 6: Focus Assist (Windows).

1. Log into the server on the desktop app or a browser.
2. Enable Focus Assist in Windows settings.
3. Go to Settings > Notifications in Mattermost.
4. Click Send a test notification.
5. Verify that the desktop app does not show notifications during Focus Assist mode but receives them when it is disabled.
58 changes: 58 additions & 0 deletions data/test-cases/notification-test-tool/3-linux.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
# (Required) Ensure all values are filled up
name: "LINUX OS | User can generate test notification from a browser and verify on the Desktop and Mobile app"
status: Active
priority: Normal
folder: Notification Test Tool
authors: "@yasserfaraazkhan"
team_ownership:
- ICU
priority_p1_to_p4: P2 - Core Functions (Do core functions work?)

# (Optional)
location: null
component: null
tags: []
labels: []
tested_by_contributor: ''

# (Optional) Test type and tools
cypress: N/A
detox: N/A
mmctl: N/A
playwright: N/A
rainforest: []
manual_test_environments: []

# Do not change
id: null
key: null
created_on: null
last_updated: null
case_hashed: null
steps_hashed: null
---

**Step 1**

Prerequisite:

1. Log in to Browser, Mobile and desktop using 1 user account.

### Scenario 1: System notifications via GNOME/KDE (Ubuntu).

1. Log into the Mattermost desktop app on Ubuntu.
2. Ensure system notification settings allow Mattermost.
3. In Mattermost, go to Settings > Notifications.
4. Click Send a test notification.
5. Verify the notification appears in the GNOME or KDE notification area.
6. Disable notifications in Ubuntu settings and retest to ensure the notification is not displayed.

### Scenario 2: Browser notifications in Firefox (Ubuntu).

1. Open Firefox on Ubuntu and log into the server.
2. Disable browser notifications for Mattermost.
3. Go to Settings > Notifications in Mattermost.
4. Click Send a test notification.
5. Verify that no notification is received in Firefox or the system.
6. Re-enable notifications in Firefox and verify a pop-up appears when tested again.
69 changes: 69 additions & 0 deletions data/test-cases/notification-test-tool/4-iOS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
# (Required) Ensure all values are filled up
name: "iOS app | User can generate test notification from mobile app and verify on the Browser and Desktop and Mobile app"
status: Active
priority: Normal
folder: Notification Test Tool
authors: "@yasserfaraazkhan"
team_ownership:
- ICU
priority_p1_to_p4: P2 - Core Functions (Do core functions work?)

# (Optional)
location: null
component: null
tags: []
labels: []
tested_by_contributor: ''

# (Optional) Test type and tools
cypress: N/A
detox: N/A
mmctl: N/A
playwright: N/A
rainforest: []
manual_test_environments: []

# Do not change
id: null
key: null
created_on: null
last_updated: null
case_hashed: null
steps_hashed: null
---

**Step 1**

Prerequisite:

1. Log in to Browser, Mobile and desktop using 1 user account.

### Scenario 1: Notifications generated from iOS app and verified on Desktop and Web Browser.

Initial Setup:

1. Log into the Mattermost mobile app on iOS.
2. Log into the same user account on the desktop (macOS/Windows/Ubuntu) and a web browser (Chrome/Safari/Firefox).
3. Ensure notifications are allowed on all devices.

Steps:

1. In the iOS app, go to Settings > Notifications.
2. Enable in-app notifications and system-level notifications.
3. Send a message from the iOS app (e.g., DM or mention @user in a channel).
4. Verify the following:
- A notification pop-up is received on the desktop.
- A notification is visible in the browser.
- The DM or mention is shown as unread in the desktop app and browser.
5. Disable notifications in the iOS Settings > Notifications for the Mattermost app.
6. Send a test notification again from the mobile app.
7. Verify no notifications are received on the iOS app, but they still appear in the desktop app and browser.

### Scenario 2: iOS Notification Permissions Disabled at the OS Level.

1. In iOS Settings > Notifications, disable notifications for Mattermost.
2. In the mobile app, go to Settings > Notifications and send a test notification.
3. Verify that no notifications are received on the iOS app.
4. Verify notifications are still received on the desktop app and browser.
5. Enable notifications again in iOS Settings > Notifications and retest to verify that notifications work as expected across all devices.
80 changes: 80 additions & 0 deletions data/test-cases/notification-test-tool/5-Android.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
---
# (Required) Ensure all values are filled up
name: "Android app | User can generate test notification from mobile app and verify on the Browser and Desktop and Mobile app"
status: Active
priority: Normal
folder: Notification Test Tool
authors: "@yasserfaraazkhan"
team_ownership:
- ICU
priority_p1_to_p4: P2 - Core Functions (Do core functions work?)

# (Optional)
location: null
component: null
tags: []
labels: []
tested_by_contributor: ''

# (Optional) Test type and tools
cypress: N/A
detox: N/A
mmctl: N/A
playwright: N/A
rainforest: []
manual_test_environments: []

# Do not change
id: null
key: null
created_on: null
last_updated: null
case_hashed: null
steps_hashed: null
---

**Step 1**

Prerequisite:

1. Log in to Browser, Mobile and desktop using 1 user account.

### Scenario 1: Notifications generated from iOS app and verified on Desktop and Web Browser.

Initial Setup:

1. Log into the Mattermost mobile app on iOS.
2. Log into the same user account on the desktop (macOS/Windows/Ubuntu) and a web browser (Chrome/Safari/Firefox).
3. Ensure notifications are allowed on all devices.

Steps:

1. In the Android app, go to Settings > Notifications.
2. Enable both in-app notifications and system-level notifications.
3. Send a message from the Android app (e.g., DM or mention @user).
4. Verify the following:
- A notification pop-up is received on the desktop app.
- A notification is visible in the web browser.
- The DM or mention is marked as unread on both desktop and web browser.
5. Disable notifications in the Android OS for Mattermost.
6. Send a test notification again from the mobile app.
7. Verify no notifications are received on the Android app, but they still appear in the desktop app and browser.

### Scenario 2: Android Notification Permissions Disabled at the OS Level.

1. Disable notifications for Mattermost in Android Settings > Apps > Mattermost > Notifications.
2. Send a message or notification from the mobile app (e.g., mention or DM).
3. Verify that no notifications are received on the Android app.
4. Verify notifications are still received on the desktop app and browser.
5. Enable notifications again in Android settings and retest to confirm all notifications are functioning.

### Scenario 3: Notifications are limited by Do Not Disturb (DND) mode on mobile apps (iOS and Android).

Initial Setup:
Log into Mattermost on iOS and Android apps, and the desktop app.
Steps:
Enable Do Not Disturb mode in iOS and Android OS settings.
In the Mattermost mobile app, send a notification (mention or DM).
Verify that no notifications are received on the mobile apps.
Verify that notifications are still received on the desktop app.
Disable DND mode on mobile apps and retest to ensure notifications are received.
Loading