Templates
WhatsApp Templates (List, Create, Update, Delete)
| ID | Test Case | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| TPL-001 | List all WhatsApp templates | Logged in as Agent, at least one WhatsApp account connected, at least 3 templates exist | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Observe the template list | Templates display in a table with columns: Name, Category, Status, Language, Account. All templates visible without filtering. | High |
| TPL-002 | Filter templates by account | Logged in as Agent, two WhatsApp accounts connected, templates exist for both accounts | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Click "Filter by Account" dropdown 4. Select first account | Only templates for selected account display. Count matches expected. Other account templates hidden. | High |
| TPL-003 | Filter templates by status | Logged in as Agent, templates with mixed statuses (approved, pending, rejected) exist | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Click "Status" filter dropdown 4. Select "Approved" | Only templates with "Approved" status display. Green badge shows next to status. Other statuses hidden. | High |
| TPL-004 | Filter templates by category | Logged in as Agent, templates in multiple categories (MARKETING, UTILITY, AUTHENTICATION) exist | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Click "Category" dropdown 4. Select "MARKETING" | Only MARKETING templates display. Count updates. Other categories filtered out. | High |
| TPL-005 | Search templates by name | Logged in as Agent, templates with names "Welcome", "OrderConfirm", "Support" exist | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Click search box 4. Type "Order" | Only "OrderConfirm" template displays. Search is case-insensitive. No results show for non-matching terms. | High |
| TPL-006 | Combine multiple filters | Logged in as Agent, templates exist with different accounts, statuses, categories | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Select Account "Account A" 4. Select Status "Pending" 5. Select Category "UTILITY" 6. Type "promo" in search | Only templates matching ALL criteria display (Account A AND Pending AND UTILITY AND name contains "promo"). | High |
| TPL-007 | Pagination - navigate pages | Logged in as Agent, 120 templates exist (more than 50 per page) | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Scroll to bottom 4. Click "Next" button | Page 2 displays next 50 templates. Row numbers update. "Previous" button becomes clickable. | Medium |
| TPL-008 | Pagination - page size | Logged in as Agent, 120 templates exist | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Click "Show per page" dropdown 4. Select "100" | 100 templates display on single page. Pagination buttons update accordingly. | Medium |
| TPL-009 | Create WhatsApp template - happy path | Logged in as Agent, one WhatsApp account connected | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Click "+ New Template" button 4. Select WhatsApp account from dropdown 5. Enter name "Welcome Message" 6. Select language "English (US)" 7. Select category "MARKETING" 8. Enter body text "Hello {{1}}, welcome!" 9. Click "Create" button | Success toast shows "Template created successfully". Modal closes. New template appears in list with status "pending". Name, language, category match input values. | High |
| TPL-010 | Create WhatsApp template - missing account | Logged in as Agent, no WhatsApp account dropdown pre-selected | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Click "+ New Template" button 4. Leave account field empty 5. Fill all other required fields 6. Click "Create" button | Error message displays under account field: "WhatsApp account is required". Create button disabled or no POST request sent. Modal stays open. | High |
| TPL-011 | Create WhatsApp template - missing name | Logged in as Agent, one WhatsApp account connected | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Click "+ New Template" button 4. Select account 5. Leave name field empty 6. Fill category and body text 7. Click "Create" button | Error message displays under name field: "Template name is required". Create button disabled. Modal stays open. | High |
| TPL-012 | Create WhatsApp template - duplicate name | Logged in as Agent, template "Welcome" already exists | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Click "+ New Template" button 4. Select account 5. Enter name "Welcome" 6. Fill other required fields 7. Click "Create" button | Error toast shows "Template with this name already exists". Modal stays open. Form data persists. | Medium |
| TPL-013 | Create WhatsApp template - invalid characters in name | Logged in as Agent, one WhatsApp account connected | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Click "+ New Template" button 4. Enter name with special characters: "Test<>/*?" 5. Fill other fields 6. Click "Create" button | Error displays under name field: "Name contains invalid characters". Create button disabled. | Medium |
| TPL-014 | Create WhatsApp template - body text validation | Logged in as Agent, one WhatsApp account connected | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Click "+ New Template" button 4. Fill all fields but body text is empty 5. Click "Create" button | Error displays under body text field: "Body text is required". Create button disabled. | High |
| TPL-015 | Create WhatsApp template - with optional header and footer | Logged in as Agent, one WhatsApp account connected | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Click "+ New Template" button 4. Enter name "Detailed Template" 5. Enter header text "Welcome Banner" 6. Enter body text "Message body" 7. Enter footer text "Footer note" 8. Click "Create" button | Template created. Header and footer display in preview. Success toast shown. Template appears in list. | Medium |
| TPL-016 | View template details / preview | Logged in as Agent, template "Welcome" exists | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Click on template row "Welcome" OR click eye icon next to template | Preview modal opens showing: Template name, language, category, status badge (color-coded: green=approved, yellow=pending, red=rejected), full component text (header, body, footer). | High |
| TPL-017 | Edit template - update category | Logged in as Agent, template "Welcome" with category "MARKETING" exists | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Click pencil icon next to "Welcome" template 4. Change category dropdown to "UTILITY" 5. Click "Save" button | Success toast shows "Template updated". Modal closes. Template list shows category changed to "UTILITY". | High |
| TPL-018 | Edit template - update body component | Logged in as Agent, template "Welcome" exists | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Click pencil icon 4. Modify body text from "Hello {{1}}" to "Hi {{1}}, welcome!" 5. Click "Save" button | Success toast shows "Template updated". New body text persists in template preview. Edit modal closes. | High |
| TPL-019 | Edit template - clear optional fields | Logged in as Agent, template with header and footer exists | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Click pencil icon 4. Clear header text field 5. Clear footer text field 6. Click "Save" button | Success toast shown. Header and footer removed from template. Preview shows only body text. | Medium |
| TPL-020 | Edit template - validation error on blank body | Logged in as Agent, template exists | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Click pencil icon 4. Clear body text field completely 5. Click "Save" button | Error message displays: "Body text is required". Save button disabled. Modal stays open. | High |
| TPL-021 | Delete template - confirm deletion | Logged in as Agent, template "OldTemplate" exists | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Click trash icon next to "OldTemplate" 4. Confirmation dialog appears 5. Click "Yes, Delete" button | Template disappears from list immediately. Success toast shows "Template deleted". Page reloads or list updates. Row count decreases by 1. | High |
| TPL-022 | Delete template - cancel deletion | Logged in as Agent, template "KeepTemplate" exists | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Click trash icon 4. Confirmation dialog appears 5. Click "Cancel" OR press Escape | Dialog closes. Template remains in list. No delete request sent. | High |
| TPL-023 | Delete template - already deleted by another user | Logged in as Agent, template "SharedTemplate" exists, another user deletes it simultaneously | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Click trash icon on "SharedTemplate" 4. (Another user deletes same template) 5. Confirm delete | Error toast shows "Template not found or already deleted". Modal closes. List refreshes. Template no longer visible. | Medium |
Custom Templates (My Templates Tab)
| ID | Test Case | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| TPL-024 | List custom templates - empty state | Logged in as Agent, no custom templates created yet | 1. Navigate to /templates 2. Click "My Templates" tab | Empty state displays: "No templates yet" with icon, description text "Create your own reusable text, interactive, or media templates.", and "Create your first template" button. | High |
| TPL-025 | List custom templates - with data | Logged in as Agent, 5 custom templates exist (mix of text, interactive, media types) | 1. Navigate to /templates 2. Click "My Templates" tab | Templates display in table with columns: Name, Type (badge: text=blue, interactive=purple, media=amber), Description, Actions (Edit, Delete). All 5 templates visible. | High |
| TPL-026 | Create custom template - text type | Logged in as Agent | 1. Navigate to /templates 2. Click "My Templates" tab 3. Click "+ New Template" button 4. Template type defaults to "Text" 5. Enter name "Welcome Text" 6. Enter description "Simple greeting" 7. Enter body text "Hello {{name}}, welcome!" 8. Click "Save" button | Success toast "Template saved". Modal closes. New template appears in list with type badge "Text" (blue). Description displays in table. | High |
| TPL-027 | Create custom template - interactive buttons type | Logged in as Agent | 1. Navigate to /templates 2. Click "My Templates" tab 3. Click "+ New Template" button 4. Change template type to "Interactive" 5. Select interactive subtype "Button" 6. Enter name "Order Options" 7. Enter body text "Choose an option:" 8. Enter button label "Choose" 9. Add two buttons with titles "Yes" and "No" 10. Click "Save" button | Success toast shown. Modal closes. Template appears in list with type badge "Interactive" (purple). WhatsApp preview shows buttons correctly formatted. | High |
| TPL-028 | Create custom template - interactive list type | Logged in as Agent | 1. Navigate to /templates 2. Click "My Templates" tab 3. Click "+ New Template" button 4. Change template type to "Interactive" 5. Select interactive subtype "List" 6. Enter body text "Select from list:" 7. Add option 1: title "Option A", description "First choice" 8. Add option 2: title "Option B", description "Second choice" 9. Click "Save" button | Success toast shown. Template appears in list with "Interactive" badge. WhatsApp preview shows list format with selectable options and descriptions. | High |
| TPL-029 | Create custom template - media image type | Logged in as Agent | 1. Navigate to /templates 2. Click "My Templates" tab 3. Click "+ New Template" button 4. Change template type to "Media" 5. Select media type "Image" 6. Select source "URL" 7. Enter image URL "https://example.com/image.jpg" 8. Enter caption "Beautiful sunset" 9. Enter name "Image Template" 10. Click "Save" button | Success toast shown. Modal closes. Template appears in list with "Media" badge (amber). WhatsApp preview shows image with caption. | High |
| TPL-030 | Create custom template - media upload from file | Logged in as Agent | 1. Navigate to /templates 2. Click "My Templates" tab 3. Click "+ New Template" button 4. Change template type to "Media" 5. Select source "Upload" 6. Click file input 7. Select image file from local machine (e.g., test.jpg) 8. Enter caption "Uploaded image" 9. Click "Save" button | File uploads (loading indicator appears). Success toast shown. Template saved with uploaded image. WhatsApp preview shows image. | Medium |
| TPL-031 | Create custom template - media video type | Logged in as Agent | 1. Navigate to /templates 2. Click "My Templates" tab 3. Click "+ New Template" button 4. Change template type to "Media" 5. Select media type "Video" 6. Enter video URL "https://example.com/video.mp4" 7. Enter caption "Demo video" 8. Click "Save" button | Success toast shown. Template created. Preview shows video player with caption. | Medium |
| TPL-032 | Create custom template - validation: missing required fields | Logged in as Agent | 1. Navigate to /templates 2. Click "My Templates" tab 3. Click "+ New Template" button 4. Leave name field empty 5. Click "Save" button | Error message displays under name field: "Name is required". Save button disabled. Modal stays open. | High |
| TPL-033 | Create custom template - validation: interactive buttons with no buttons added | Logged in as Agent | 1. Navigate to /templates 2. Click "My Templates" tab 3. Click "+ New Template" button 4. Change type to "Interactive" 5. Keep subtype "Button" but delete default button 6. Click "Save" button | Error message displays: "At least one button is required for interactive button template". Save button disabled. | High |
| TPL-034 | Create custom template - add multiple buttons | Logged in as Agent | 1. Navigate to /templates 2. Click "My Templates" tab 3. Click "+ New Template" button 4. Change type to "Interactive" (Button subtype) 5. Add 1st button "Yes" 6. Click "+ Add Button" 7. Add 2nd button "No" 8. Click "+ Add Button" 9. Add 3rd button "Maybe" 10. Click "Save" button | All three buttons saved. WhatsApp preview shows all 3 buttons stacked. Success toast shown. | Medium |
| TPL-035 | Create custom template - interactive with header and footer | Logged in as Agent | 1. Navigate to /templates 2. Click "My Templates" tab 3. Click "+ New Template" button 4. Change type to "Interactive" 5. Enter header text "Special Offer" 6. Enter body text "Interested?" 7. Add button "Shop Now" 8. Enter footer text "Limited time" 9. Click "Save" button | Template saved with all components. WhatsApp preview shows header, body, buttons, and footer correctly formatted. | Medium |
| TPL-036 | Edit custom template - change name | Logged in as Agent, custom template "Old Name" exists | 1. Navigate to /templates 2. Click "My Templates" tab 3. Click pencil icon next to "Old Name" 4. Change name to "New Name" 5. Click "Save" button | Success toast shown. Template table updates with new name "New Name". Modal closes. | High |
| TPL-037 | Edit custom template - change template type | Logged in as Agent, custom template of type "Text" exists | 1. Navigate to /templates 2. Click "My Templates" tab 3. Click pencil icon 4. Change template type from "Text" to "Interactive" (Button) 5. Add button "Confirm" 6. Click "Save" button | Form clears old text fields and shows interactive form. Success toast shown. Template type badge changes to "Interactive" in list. | High |
| TPL-038 | Edit custom template - update interactive buttons | Logged in as Agent, custom template with buttons "Yes"/"No" exists | 1. Navigate to /templates 2. Click "My Templates" tab 3. Click pencil icon 4. Change "Yes" button to "Approve" 5. Delete "No" button 6. Add new button "Reject" 7. Click "Save" button | Success toast shown. Template updates. WhatsApp preview shows buttons "Approve" and "Reject". | Medium |
| TPL-039 | Delete custom template | Logged in as Agent, custom template "DeleteMe" exists | 1. Navigate to /templates 2. Click "My Templates" tab 3. Click trash icon next to "DeleteMe" 4. Confirmation dialog appears with message "Are you sure?" 5. Click "Delete" button | Template disappears from list. Success toast shows "Template deleted". Row count decreases by 1. | High |
| TPL-040 | Delete custom template - cancel | Logged in as Agent, custom template exists | 1. Navigate to /templates 2. Click "My Templates" tab 3. Click trash icon 4. Confirmation dialog appears 5. Click "Cancel" button | Dialog closes. Template remains in list. No deletion occurs. | High |
| TPL-041 | Browse Template Library from My Templates tab | Logged in as Agent, platform templates exist in library | 1. Navigate to /templates 2. Click "My Templates" tab 3. Click "Browse Library" button | Template library slide-over opens showing published platform templates with filters (industry, use case, type). List populated with library templates. | High |
| TPL-042 | Clone library template to My Templates | Logged in as Agent, in My Templates tab, library template "Welcome Flow" exists | 1. Navigate to /templates 2. Click "My Templates" tab 3. Click "Browse Library" button 4. Library slide-over opens 5. Click "Preview" on "Welcome Flow" template 6. Click "Use this" button in preview modal | Template cloned. Toast shows "\"Welcome Flow\" added to your templates". Library slide-over closes. New template appears in My Templates list. | High |
Template Library - Platform Messages
| ID | Test Case | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| TPL-043 | List platform message templates | Logged in as Agent, platform templates exist with industry/use case tags | 1. Navigate to /templates 2. Click "My Templates" tab 3. Click "Browse Library" button 4. "Messages" tab active by default | Slide-over opens showing grid of template cards. Each card displays: name, description, industry tags (up to 3), use case tags (up to 2), "Preview" and "Use this" buttons. No filters applied by default. | High |
| TPL-044 | Search platform templates by name | Logged in as Agent, library templates "Welcome", "Order Confirmation", "Support" exist | 1. Open Template Library 2. Click search box 3. Type "Order" | Only "Order Confirmation" template displays. Search matches name substring. | High |
| TPL-045 | Filter library templates by industry | Logged in as Agent, templates tagged with "ecommerce", "healthcare", "retail" exist | 1. Open Template Library 2. Click "Industry" filter dropdown 3. Select "ecommerce" | Only templates tagged with "ecommerce" display. Count updates. Other industries hidden. | High |
| TPL-046 | Filter library templates by use case | Logged in as Agent, templates tagged with "welcome", "support", "promotion" exist | 1. Open Template Library 2. Click "Use Case" filter dropdown 3. Select "support" | Only templates tagged with "support" display. | High |
| TPL-047 | Filter library templates by template type | Logged in as Agent, templates of types "text", "interactive", "media" exist | 1. Open Template Library 2. "Messages" tab active 3. Click "Type" filter dropdown 4. Select "Interactive" | Only interactive templates display. Type filter only appears on Messages tab. | Medium |
| TPL-048 | Combine multiple library filters | Logged in as Agent, templates with various tags/types exist | 1. Open Template Library 2. Select industry "retail" 3. Select use case "promotion" 4. Select type "media" 5. Type "discount" in search | Only templates matching ALL criteria display (retail AND promotion AND media AND name contains "discount"). | High |
| TPL-049 | Preview library message template | Logged in as Agent, library template "Welcome" exists | 1. Open Template Library 2. Click "Preview" button on "Welcome" template | Preview modal opens showing: template name, description, full content (text/buttons/media), industry and use case tags. Modal has "Use this" button and close (X) button. | High |
| TPL-050 | Clone library message template | Logged in as Agent, logged in with organization context, library template "Welcome" exists | 1. Open Template Library 2. Find "Welcome" template 3. Click "Use this" button | "Welcome" cloned to user's organization as custom template. Success toast shows "\"Welcome\" added to your templates". Library slide-over closes. New template appears in My Templates list. | High |
| TPL-051 | Clone template - no org context | Logged in as Agent but organization context not set (edge case) | 1. Open Template Library 2. Click "Use this" on any template | Error toast shows "Failed to clone template". Library stays open. Cloning does not complete. | Medium |
| TPL-052 | Library template with no description | Logged in as Agent, library template with empty description field exists | 1. Open Template Library 2. Find template with no description | Template card displays name and tags. Description area blank or not rendered. Preview and Use buttons still functional. | Medium |
| TPL-053 | Library empty state | Logged in as Agent, no templates published in platform library | 1. Open Template Library 2. Messages tab active | Empty state displays: "No templates found" message or placeholder. Search/filter controls still visible and functional. | Medium |
| TPL-054 | Library filters - reset all | Logged in as Agent, filters applied (industry=ecommerce, use case=welcome, type=interactive) | 1. Open Template Library with filters applied 2. Click "Reset" or "Clear all filters" button | All filters cleared. Full template list displays again. Input fields reset to empty/default. | Medium |
| TPL-055 | Close library slide-over | Logged in as Agent, Template Library slide-over open | 1. Open Template Library 2. Click X button in top-right corner OR click backdrop outside slide-over | Slide-over closes. Returns to My Templates tab. | High |
Template Library - Platform Flows
| ID | Test Case | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| TPL-056 | List platform flow templates | Logged in as Agent, platform flow templates exist | 1. Navigate to /templates 2. Click "My Templates" tab 3. Click "Browse Library" button 4. Click "Flows" tab | Slide-over switches to Flows tab. Grid displays flow template cards with name, description, industry/use case tags, "Preview" and "Use this" buttons. | High |
| TPL-057 | Search platform flows | Logged in as Agent, library flows "Customer Onboarding", "Support Ticket Escalation" exist | 1. Open Template Library 2. Click "Flows" tab 3. Type "onboarding" in search box | Only "Customer Onboarding" flow displays. Search works on flow names. | High |
| TPL-058 | Filter flows by industry | Logged in as Agent, flows tagged with "healthcare", "retail" exist | 1. Open Template Library 2. Click "Flows" tab 3. Click Industry filter 4. Select "healthcare" | Only healthcare flows display. Type filter removed (only on Messages tab). | High |
| TPL-059 | Preview platform flow template | Logged in as Agent, library flow "Customer Onboarding" exists | 1. Open Template Library 2. Click "Flows" tab 3. Click "Preview" on "Customer Onboarding" | Preview modal opens showing flow structure/diagram, description, tags. Modal has "Use this" button. | High |
| TPL-060 | Clone platform flow template | Logged in as Agent, organization context set, library flow exists | 1. Open Template Library 2. Click "Flows" tab 3. Find flow 4. Click "Use this" button | Flow cloned to org's automation/flows. Success toast shows "Flow \"[name]\" created — find it in Automation". Library closes. | High |
| TPL-061 | Type filter hidden on Flows tab | Logged in as Agent, in Template Library | 1. Open Template Library 2. Observe "Messages" tab (type filter visible) 3. Click "Flows" tab | Type filter disappears when switching to Flows tab. Only industry and use case filters show. | Medium |
| TPL-062 | Switch between Messages and Flows tabs | Logged in as Agent, library open with filtered view | 1. Open Template Library 2. Apply filter industry=ecommerce on Messages 3. Click "Flows" tab | Filters reset. Flows tab loads with default (no filters). Switching back to Messages shows Messages with no filters applied (state isolated per tab). | Medium |
Template Synchronization (WhatsApp Templates Only)
| ID | Test Case | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| TPL-063 | Sync WhatsApp account templates | Logged in as Agent, one WhatsApp account connected, account has 5 unapproved templates on WhatsApp Business API | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Click "Sync" menu button or dropdown 4. Select account to sync 5. Click "Sync Templates" button | Loading spinner appears. After 5-30 seconds, toast shows "Synced 5 templates: 3 new, 2 updated". Sync results toast displays count of synced/created/updated templates. New templates appear in list. | High |
| TPL-064 | Sync templates - no new templates | Logged in as Agent, one WhatsApp account connected, all account templates already synced | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Click "Sync" 4. Select account 5. Click "Sync Templates" button | Sync completes. Toast shows "Synced 0 templates". No new rows added to list. | Medium |
| TPL-065 | Sync templates - updates existing template | Logged in as Agent, template "OldWelcome" synced previously, same template updated on WhatsApp Business API | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Click "Sync" 4. Select account and sync | Toast shows "Synced N templates: M new, 1 updated". Template "OldWelcome" shows updated timestamp. Body text or components reflect API changes. | Medium |
| TPL-066 | Sync multiple accounts | Logged in as Agent, two WhatsApp accounts connected, both have unsynced templates | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Click "Sync" 4. Select first account 5. Sync completes 6. Click "Sync" again 7. Select second account 8. Sync completes | First sync: toast shows count for account 1. Second sync: toast shows count for account 2. All synced templates appear in list filtered by account. | Medium |
| TPL-067 | Sync in progress - UI feedback | Logged in as Agent, initiating sync | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Click "Sync" 4. Select account and click "Sync Templates" | Sync button becomes disabled or shows loading spinner. Text changes to "Syncing..." List area may show loading state. Sync button re-enabled after completion. | Medium |
| TPL-068 | Sync error handling | Logged in as Agent, WhatsApp account token expired or API error occurs | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Click "Sync" 4. Select account 5. Click "Sync Templates" button | Error toast shows "Sync failed: WhatsApp API error. Please reconnect your account." Sync button remains clickable. User can retry. | Medium |
Template Permissions & Role Boundaries
| ID | Test Case | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| TPL-069 | Agent can view templates | Logged in as Agent role | 1. Navigate to /templates | Templates tab visible and accessible. Agent sees WhatsApp and My Templates tabs. List displays with all columns. | High |
| TPL-070 | Agent can create WhatsApp template | Logged in as Agent, WhatsApp account connected | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Click "+ New Template" button | Create form displays. Agent can complete creation successfully. Template saved to organization. | High |
| TPL-071 | Agent can create custom template | Logged in as Agent | 1. Navigate to /templates 2. Click "My Templates" tab 3. Click "+ New Template" button | Create form displays. Agent can create text/interactive/media template successfully. | High |
| TPL-072 | Agent can edit own custom template | Logged in as Agent, custom template created by same Agent | 1. Navigate to /templates 2. Click "My Templates" tab 3. Click pencil icon on own template | Edit form displays with all fields populated. Agent can modify and save successfully. | High |
| TPL-073 | Agent can delete own custom template | Logged in as Agent, custom template created by same Agent | 1. Navigate to /templates 2. Click "My Templates" tab 3. Click trash icon 4. Confirm deletion | Template deleted from list. Success toast shown. | High |
| TPL-074 | Admin can view all templates | Logged in as Admin role | 1. Navigate to /templates | All organization templates visible (WhatsApp and custom). Admin can filter and search. | High |
| TPL-075 | Admin can create WhatsApp template | Logged in as Admin | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Create template | Template created successfully. | High |
| TPL-076 | Admin can sync WhatsApp templates | Logged in as Admin, WhatsApp account connected | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Click "Sync" | Sync menu/button visible and functional for Admin. Sync completes successfully. | Medium |
| TPL-077 | Unauthenticated user cannot access templates | Not logged in | 1. Navigate to /templates | Redirected to login page. /templates not accessible without authentication. | High |
| TPL-078 | User cannot access templates in different organization | Logged in as Agent in Org A, attempting to access Org B template | 1. Logged in as Agent in Organization A 2. Navigate to /templates 3. Attempt to edit template ID belonging to Organization B (e.g., via direct URL /templates/{orgB_template_id}) | 403 Forbidden error displayed OR template not found message shown. User cannot access or modify cross-org template. | High |
WhatsApp Preview & Component Rendering
| ID | Test Case | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| TPL-079 | Preview renders text body | Logged in as Agent, template with body "Hello {{1}}, welcome!" exists | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Click preview or eye icon on template | Preview modal shows exact body text "Hello {{1}}, welcome!" rendered as WhatsApp message bubble. | High |
| TPL-080 | Preview renders with header and footer | Logged in as Agent, template with header, body, footer components exists | 1. Navigate to /templates 2. Click "WhatsApp" tab 3. Open template preview | Preview shows WhatsApp message with header at top, body in middle, footer at bottom in correct styling. | High |
| TPL-081 | Preview renders buttons correctly | Logged in as Agent, interactive template with buttons "Yes", "No", "Maybe" exists | 1. Navigate to /templates 2. Click "My Templates" tab 3. Open preview for interactive template | WhatsApp preview shows message with three buttons stacked vertically. Button styling matches WhatsApp design. | Medium |