Files
marketing-app/TESTING_GUIDE.md

9.8 KiB

UI/UX Improvements - Testing Guide

Quick Start

  1. Start the app:

    cd /home/fahed/clawd/marketing-app
    ./start.sh
    
  2. Access the app:

    • Open browser: http://localhost:5173
    • Login with your credentials

Test Scenarios

1. Toast Notifications 🍞

Post Operations

  1. Go to Post Production page
  2. Click "New Post"
  3. Fill in title, select brand, platform
  4. Click "Create Post"
    • Should see: Green success toast "Post created successfully!"
  5. Click a post to edit
  6. Change the title
  7. Click "Save Changes"
    • Should see: Green success toast "Post updated successfully!"
  8. Drag a post to "Published" column (without publication links)
    • Should see: Red error toast
  9. Click a post, click "Delete", confirm
    • Should see: Green success toast "Post deleted successfully!"

Task Operations

  1. Go to Tasks page
  2. Click "New Task"
  3. Fill in title
  4. Click "Create Task"
    • Should see: Green success toast "Task created successfully!"
  5. Drag a task from "To Do" to "In Progress"
    • Should see: Green success toast "Task status updated!"

Multiple Toasts

  1. Quickly create 3 tasks in a row
    • Should see: 3 toasts stacked on top of each other
    • Each should auto-dismiss after 4 seconds

2. Loading States

Dashboard

  1. Refresh the page while on Dashboard
    • Should see: Skeleton loaders for:
      • Welcome message
      • 4 stat cards
      • Recent posts list
      • Upcoming deadlines list
    • After loading: Smooth fade to actual content

Posts (Kanban View)

  1. Go to Post Production
  2. Refresh the page
    • Should see: 5-column skeleton board with card placeholders
    • After loading: Posts appear in correct columns

Posts (List View)

  1. Click the List view icon
  2. Refresh the page
    • Should see: Table skeleton with 6 columns
    • After loading: Table rows appear

Tasks

  1. Go to Tasks page
  2. Refresh the page
    • Should see: Skeleton kanban board
    • After loading: Tasks appear in columns

3. Empty States 🗂️

No Posts

  1. Go to Post Production
  2. Delete all posts (or use filters to hide all)
  3. With no posts at all:
    • Should see: Empty state with:
      • FileText icon
      • "No posts" title
      • Helpful description
      • "Create Post" button
  4. Click the button
    • Should open: Create post modal

Posts Filtered (No Results)

  1. Select a brand filter that has no posts
    • Should see: Empty state with:
      • "No posts found" title
      • "Try different filter" description
      • "Clear Filters" button
  2. Click the button
    • Should clear: All filters

No Tasks

  1. Go to Tasks page
  2. Delete all tasks
    • Should see: Empty state with:
      • CheckSquare icon
      • "No tasks yet" title
      • "Create Task" button

Tasks Filtered (No Results)

  1. Select "Assigned to Me" filter (if you have no tasks assigned)
    • Should see: Empty state with:
      • "No tasks match this filter" title
      • "Clear Filters" button

4. Micro-interactions

Button Hover Effects

  1. Hover over any button
    • Should see: Button lifts slightly (-1px)
    • Should see: Subtle shadow appears
  2. Click and hold a button
    • Should see: Button presses down (scale 0.98)

Card Hover Effects

  1. Hover over a PostCard (in Kanban view)
    • Should see:
      • Card lifts up (-3px)
      • Shadow becomes more prominent
      • Smooth transition
  2. Hover over a TaskCard
    • Should see: Same elevation effect
    • Should see: Quick action button appears

Stat Card Animation

  1. Go to Dashboard
  2. Refresh the page
    • Should see: 4 stat cards animate in with stagger effect
    • Each card appears 50ms after the previous one

Focus States

  1. Press Tab repeatedly to navigate
    • Should see: Blue outline (focus ring) on each element
    • Ring should be 2px wide with 2px offset
  2. Navigate to any input field
  3. Press Tab
    • Should see: Focus ring around input

5. Form UX 📝

Loading Button State

  1. Go to Post Production
  2. Click "New Post"
  3. Fill in title
  4. Click "Create Post"
    • During save: Button shows spinner (text disappears)
    • Button is disabled (no double-click possible)
    • After save: Button returns to normal, modal closes

Same for Tasks

  1. Create a task
    • Save button shows loading spinner
    • Cannot submit twice

Input Focus States

  1. Click any input field
    • Should see: Blue border and ring effect
  2. Hover over an input (without clicking)
    • Should see: Border color changes slightly

6. Card Improvements 🎴

PostCard Visual Hierarchy

  1. Look at posts in Kanban view
    • Title is prominent (larger, bold)
    • Metadata is subtle (smaller, gray)
    • Platforms shown with icons
    • Brand badge clearly visible
  2. Hover over a card
    • Quick action buttons appear
    • Card elevates smoothly

TaskCard Visual Hierarchy

  1. Look at tasks
    • Priority dot is visible (left side, colored)
    • Title is clear
    • "From:" label for tasks assigned by others
    • "Assigned to:" label for tasks you delegated
    • Due date with clock icon
  2. Look for overdue tasks
    • Due date should be red

7. Accessibility

Keyboard Navigation

  1. Press Tab to navigate through the page
    • Tab order is logical
    • All interactive elements can be reached
    • Focus is visible at all times
  2. Open a modal
  3. Press Escape
    • Modal closes
  4. Open a dropdown/select
  5. Use Arrow keys to navigate options
    • Should work

Screen Reader (Optional)

  1. Enable screen reader (VoiceOver on Mac, NVDA on Windows)
  2. Navigate the page
    • All text is read correctly
    • Buttons are labeled
    • Form labels are associated with inputs

Color Contrast

  1. Look at all text elements
    • Text is readable (WCAG AA compliant)
    • Status badges have good contrast
    • Buttons have clear text

8. RTL & i18n 🌍

Switch to Arabic

  1. Go to Settings
  2. Select Arabic language
  3. Check:
    • All text switches to Arabic
    • Layout flips (RTL)
    • Toasts appear on correct side
    • All new features have Arabic translations

Toast Messages in Arabic

  1. Create a post
    • Toast shows: "تم إنشاء المنشور بنجاح!"
  2. Update a task
    • Toast shows: "تم تحديث المهمة بنجاح!"

Visual Checklist

Toast System

  • Success toasts are green
  • Error toasts are red
  • Warning toasts are amber
  • Info toasts are blue
  • Toasts have icons
  • Toasts auto-dismiss
  • Multiple toasts stack
  • Manual close works

Loading States

  • Dashboard skeleton matches layout
  • Posts skeleton (Kanban) shows 5 columns
  • Posts skeleton (List) shows table
  • Tasks skeleton shows 3 columns
  • Smooth transition to content

Empty States

  • Posts empty state has icon
  • Posts empty state has CTA
  • Tasks empty state has icon
  • Tasks empty state has CTA
  • Filtered empty states offer clear filters
  • Messages are helpful and friendly

Micro-interactions

  • Buttons lift on hover
  • Buttons press on click
  • Cards elevate on hover
  • Stat cards stagger animate
  • Focus rings are visible
  • Smooth transitions everywhere

Forms

  • Save buttons show loading
  • Buttons disable during save
  • No double-submission
  • Focus states work
  • Required fields marked

Cards

  • PostCard has hover effect
  • TaskCard has hover effect
  • Visual hierarchy is clear
  • Quick actions appear on hover

Accessibility

  • Tab navigation works
  • Focus is always visible
  • Escape closes modals
  • Color contrast is good
  • Labels are descriptive

i18n

  • Arabic translation complete
  • RTL layout works
  • Toasts in correct language

Performance Check

Page Load Times

  • Dashboard: Should load < 1 second
  • Posts: Should load < 1 second
  • Tasks: Should load < 1 second

Animation Smoothness

  • All animations should be smooth (60fps)
  • No jank or stuttering
  • Hover effects are instant

Network (DevTools)

  1. Open DevTools → Network tab
  2. Refresh the page
  3. Check:
    • Total bundle size reasonable
    • No errors
    • API calls complete quickly

Common Issues & Solutions

Issue: Toasts don't appear

  • Check: Is ToastProvider wrapping the app in App.jsx?
  • Check: Is useToast() called inside a component within ToastProvider?

Issue: Skeletons don't show

  • Check: Is the loading state properly set before data fetch?
  • Check: Are skeleton components imported correctly?

Issue: Animations are choppy

  • Check: Browser hardware acceleration enabled?
  • Check: Too many elements animating at once?

Issue: Focus ring not visible

  • Check: Browser default focus outline not overridden?
  • Check: CSS for focus-visible applied?

Issue: RTL layout broken

  • Check: All directional CSS uses logical properties?
  • Check: Icons/images flipped correctly?

Reporting Issues

If you find any issues:

  1. Note the exact steps to reproduce
  2. Take a screenshot if visual
  3. Check browser console for errors
  4. Note browser and version

Success Criteria

The app passes if:

  • All toast scenarios work
  • All loading states appear correctly
  • All empty states are helpful
  • Animations are smooth
  • Forms provide feedback
  • Cards look polished
  • Accessibility features work
  • i18n is complete

Happy Testing! 🎉