Skip to content

test: Guided Tours & Onboarding UX — Driver.js tours for all roles #300

Description

@guillermoscript

Scope

Interactive onboarding tours built with Driver.js. Five tours cover admin, teacher, student dashboards plus course and lesson editors. Tours auto-start on first visit and can be replayed via the HelpCircle trigger button.

Personas

Persona Email Role
Admin/Owner owner@e2etest.com admin (Default School)
Teacher owner@e2etest.com admin/teacher (Default School)
Student student@e2etest.com student

Tours Under Test

Tour ID Route Auto-start trigger
admin-dashboard /dashboard/admin First visit
teacher-dashboard /dashboard/teacher First visit
student-dashboard /dashboard/student First visit
course-editor /dashboard/teacher/courses/[id] First visit
lesson-editor /dashboard/teacher/courses/[id]/lessons/[id] First visit

Test Cases

Auto-Start Behavior

  • Admin logs in fresh (clear localStorage) → admin-dashboard tour starts after 800ms on /dashboard/admin
  • Teacher logs in fresh → teacher-dashboard tour starts on /dashboard/teacher
  • Student logs in fresh → student-dashboard tour starts on /dashboard/student
  • Tour has already run (localStorage key tour-completed:{tourId}:{userId} set) → no auto-start

Tour Steps

  • Each tour step highlights the correct data-tour element
  • Step popover shows title + description text (translated in both en and es)
  • "Next" button advances to next step
  • "Back" button returns to previous step
  • "Skip" / "X" button dismisses tour entirely
  • Final step "Done" button completes tour

Replay (TourTrigger button)

  • HelpCircle icon visible in dashboard header/sidebar
  • Clicking it clears localStorage key and restarts tour immediately
  • Works for all 5 tour types

Reduced Motion

  • With prefers-reduced-motion: reduce in OS settings → tour animations disabled, steps still functional

Course Editor Tour

  • Tour highlights: course settings, lessons panel, exams panel, preview button
  • Runs on first visit to /dashboard/teacher/courses/[id]

Lesson Editor Tour

  • Tour highlights: content editor, lesson settings, save button
  • Runs on first visit to lesson editor

i18n

  • All tour step titles and descriptions in en locale render correctly
  • Switch locale to es → tour texts in Spanish

Definition of Done

  • All 5 tours start on first visit and complete without error
  • Replay works via trigger button
  • LocalStorage key correctly prevents re-auto-start
  • No JS errors during tour execution
  • Tour steps point to existing DOM elements (no "element not found" errors)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions