Skip to content

[Testing:Notifications] E2E Notification Testing#12430

Open
JManion32 wants to merge 16 commits into
mainfrom
e2e-notifications
Open

[Testing:Notifications] E2E Notification Testing#12430
JManion32 wants to merge 16 commits into
mainfrom
e2e-notifications

Conversation

@JManion32

@JManion32 JManion32 commented Feb 14, 2026

Copy link
Copy Markdown
Contributor

Why is this Change Important & Necessary?

Closes #11908
The notifications system does not have E2E testing. As the system continues to support more features, it is increasingly important to have a complete automated test.

What is the New Behavior?

Implemented testing for notification displaying and management. New tests include:

  1. batch mark seen
  2. mark seen and never seen message
  3. mark seen and additional unseen message
  4. course notifications
  5. redirects

Implementation Details:

  • I've added a handful of helpers to support repetitive operations. This way, we don't have to make 30 changes to adjust the test in the future.
  • I updated some logic in NotificationsDisplay.vue and Notification.vue that I caught while creating the tests.
  • In the mark seen and additional unseen message test, I had to create notifications in 2 separate courses. I chose TESTING as the second course, since it looks like we use it in a few other tests. Because of this, I used ta to create the announcements instead of instructor because they were registered in TESTING.
  • This test does not delete previous notifications, so running it many times results in many notifications on ALL of the sample data users. This does not break other tests.

What steps should a reviewer take to reproduce or test the bug or new feature?

  1. Run notifications.spec.js multiple times locally, and verify that is consistently works. If any test in the suite fails, report it.
  2. Read through the script, checking for any missed edge cases that should be included.
  3. Make sure it is passing CI before approving

Automated Testing & Documentation

The notifications system is now adequately tested.

Other information

This is not a breaking change.

Potential Future Additions:

  • Test dynamically updating the sidebar count
  • Submissions open notification test
  • New team member notification test

Functions for putting the UI in the correct state, and resetting as best as possible at the end.
Working on reducing time by calling the API directly
POST request now creates announcements properly, deletion still being worked out
@github-project-automation github-project-automation Bot moved this to Seeking Reviewer in Submitty Development Feb 14, 2026
@automateprojectmangement automateprojectmangement Bot moved this from Seeking Reviewer to Work in Progress in Submitty Development Feb 14, 2026
@codecov

codecov Bot commented Feb 14, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 21.30%. Comparing base (a7515fd) to head (fa7d8b0).
⚠️ Report is 17 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff              @@
##               main   #12430      +/-   ##
============================================
- Coverage     21.36%   21.30%   -0.07%     
- Complexity    10025    10055      +30     
============================================
  Files           277      277              
  Lines         37508    37621     +113     
  Branches        513      513              
============================================
  Hits           8014     8014              
- Misses        28992    29105     +113     
  Partials        502      502              
Flag Coverage Δ
autograder 21.16% <ø> (ø)
js 1.98% <ø> (ø)
migrator 100.00% <ø> (ø)
php 20.24% <ø> (-0.08%) ⬇️
python_submitty_utils 79.83% <ø> (ø)
submitty_daemon_jobs 91.13% <ø> (ø)
vue 100.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@JManion32 JManion32 changed the title [Testing:Notifications] E2E Notification UI Testing [Testing:Notifications] E2E Notification Testing Feb 17, 2026
@github-actions github-actions Bot added the Abandoned PR - Needs New Owner No activity on PR for more than 2 weeks -- seeking new owner to complete label Mar 4, 2026
@JManion32 JManion32 removed the Abandoned PR - Needs New Owner No activity on PR for more than 2 weeks -- seeking new owner to complete label Apr 14, 2026
Testing that this test doesn't intervene with others since I cannot fully delete the forum announcements I create.
bmcutler pushed a commit that referenced this pull request Apr 15, 2026
### Why is this Change Important & Necessary?
A small feature on the home page notifications panel is the course
button, which should redirect the user to that course's notification
page. Currently, it redirects the user to the origin of the notification
just like the rest of the button.
<img width="1097" height="470" alt="image"
src="https://github.com/user-attachments/assets/d7eb8eea-042a-47d1-839b-67b932e33272"
/>

### What is the New Behavior?
Clicking the course button now redirects to that course's notification
page.

### What steps should a reviewer take to reproduce or test the bug or
new feature?
On main: Click the course button. Redirect to notification origin.
Feature branch. Click the course button, Redirect to that course's
notification page.

### Automated Testing & Documentation
#12430 is in progress and will test this feature.

### Other information
This is not a breaking change.
@github-actions github-actions Bot added the Abandoned PR - Needs New Owner No activity on PR for more than 2 weeks -- seeking new owner to complete label Apr 29, 2026
@JManion32 JManion32 removed the Abandoned PR - Needs New Owner No activity on PR for more than 2 weeks -- seeking new owner to complete label May 1, 2026
@github-actions github-actions Bot added the Abandoned PR - Needs New Owner No activity on PR for more than 2 weeks -- seeking new owner to complete label May 16, 2026
@JManion32 JManion32 removed the Abandoned PR - Needs New Owner No activity on PR for more than 2 weeks -- seeking new owner to complete label Jun 8, 2026
@github-actions github-actions Bot added the Abandoned PR - Needs New Owner No activity on PR for more than 2 weeks -- seeking new owner to complete label Jun 23, 2026
@JManion32 JManion32 removed the Abandoned PR - Needs New Owner No activity on PR for more than 2 weeks -- seeking new owner to complete label Jul 4, 2026
@JManion32
JManion32 marked this pull request as ready for review July 5, 2026 20:10
@automateprojectmangement automateprojectmangement Bot moved this from Work in Progress to Seeking Reviewer in Submitty Development Jul 5, 2026
JManion32 added 2 commits July 6, 2026 13:52
Removed for loop in mark individual noti seen, probably won't fix the ci issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Seeking Reviewer

Development

Successfully merging this pull request may close these issues.

End-to-End Testing of Notifications

1 participant