--- status: complete phase: 06-email-notifications source: [06-01-SUMMARY.md, 06-03-SUMMARY.md] started: 2026-01-25T12:00:00Z updated: 2026-01-25T12:07:00Z --- ## Current Test [testing complete] ## Tests ### 1. Notification Opt-In Checkbox Appears on Mentor Profile expected: Navigate to a subscriber (mentor) user profile. The notification preferences section should display with a checkbox labeled "Benachrichtigungen über neue Stellenangebote erhalten" and help text "Sie erhalten eine E-Mail, wenn ein neues Stellenangebot veröffentlicht wird." result: pass ### 2. Opt-In Checkbox Default State expected: New mentor users should have the notification checkbox unchecked by default (opt-out). Existing mentors should show unchecked unless previously opted in. result: pass ### 3. Opt-In Preference Saves Correctly expected: Check the notification checkbox on a mentor profile and save. Reload the profile page. The checkbox should remain checked, indicating the preference was saved. result: pass ### 4. Job Publish Triggers Email to Opted-In Mentors expected: With at least one mentor opted-in, publish a new job (transition from pending/draft to publish). The opted-in mentor(s) should receive an email notification in German with job title, location, type, and permalink to the job. result: pass ### 5. Email Contains Unsubscribe Hint expected: The notification email received by mentors should include the text "Um keine weiteren Benachrichtigungen zu erhalten, können Sie diese in Ihrem Profil deaktivieren" (unsubscribe hint in German). result: pass ### 6. No Email on Job Update expected: Publish a job, then edit and save it again (while still published). Opted-in mentors should NOT receive a second email notification for the update - only initial publish triggers notification. result: pass ### 7. Action Scheduler Shows Batched Jobs expected: After publishing a job, check WP Admin → Tools → Scheduled Actions. There should be scheduled actions for "ddhh_jm_send_mentor_notification_batch" in pending or complete status. result: pass ## Summary total: 7 passed: 7 issues: 0 pending: 0 skipped: 0 ## Gaps [none yet]