Skip to content

QR Codes App QA

The QR Studio app (/business/apps/qr) lets users generate QR codes for 10 content types (URL, Text, Phone, SMS, Email, WhatsApp, WiFi, vCard, Location, Event), customize their style, download as PNG or SVG, and update them dynamically after creation.

Routes under test:

RoutePurpose
/business/apps/qrDashboard with stats and recent QR codes
/business/apps/qr/codesFilterable QR code list
/business/apps/qr/codes/newCreate a new QR code
/business/apps/qr/codes/[id]View, edit, download, and delete a QR code
/business/apps/qr/settingsQR settings (placeholder)

IDDescriptionPreconditionsStepsExpected ResultPriority
QR-001Dashboard loads statsUser has QR codes1. Navigate to /business/apps/qrFour stat cards: Total Codes, Active, Archived, ScansP0
QR-002Recent QR codes gridUser has QR codes1. Navigate to /business/apps/qrUp to 6 recent codes shown in a grid with name, type badge, and creation dateP0
QR-003Empty dashboardNo QR codes exist1. Navigate to /business/apps/qr”No QR codes yet” empty state with link to createP1
QR-004New QR Code buttonUser is on dashboard1. Click “New QR Code”Navigates to /business/apps/qr/codes/newP1
QR-005Quick nav cardsUser is on dashboard1. Click “QR Codes” and “Settings” nav cardsEach navigates correctlyP1

IDDescriptionPreconditionsStepsExpected ResultPriority
QR-010Code list renders as gridUser has QR codes1. Navigate to /business/apps/qr/codesGrid displays each code with name, type badge, file format, and creation date; count badge in headerP0
QR-011Search filterQR codes with distinct names exist1. Type a name into search 2. SubmitOnly matching codes displayedP0
QR-012Type filter — URLQR codes of various types exist1. Click “URL” filter buttonOnly URL-type codes displayedP0
QR-013Type filter — WiFiWiFi QR codes exist1. Click “WiFi” filterOnly WiFi-type codes displayedP1
QR-014Type filter — vCardvCard QR codes exist1. Click “vCard” filterOnly vCard-type codes displayedP1
QR-015Type filter — All TypesA type filter is active1. Click “All Types”All codes displayed; type param removedP1
QR-016Filter by each typeCodes of each type exist1. Click each type filter button (URL, Text, Phone, SMS, Email, WhatsApp, WiFi, vCard, Location, Event) one at a timeEach filter displays only the correct typeP2
QR-017Empty code listNo codes match filters1. Apply filters that match nothing”No QR codes found.” with create buttonP1
QR-018Code card navigates to detailCode list displayed1. Click on a QR code cardNavigates to /business/apps/qr/codes/[id]P0

IDDescriptionPreconditionsStepsExpected ResultPriority
QR-020Create URL QR codeUser is authenticated1. Navigate to /business/apps/qr/codes/new 2. Enter name 3. Select type “URL” 4. Enter URL in the QrDataForm 5. Click “Create QR Code”Redirected to code list; new QR code appearsP0
QR-021Create vCard QR codeUser is authenticated1. Select type “vCard” 2. Fill in vCard data fields 3. Click “Create QR Code”QR code created with vCard dataP0
QR-022Create WiFi QR codeUser is authenticated1. Select type “WiFi” 2. Enter SSID, password, encryption 3. Click “Create QR Code”QR code created with WiFi dataP0
QR-023Create Text QR codeUser is authenticated1. Select type “Text” 2. Enter plain text 3. CreateQR code createdP1
QR-024Create Phone QR codeUser is authenticated1. Select type “Phone” 2. Enter phone number 3. CreateQR code createdP1
QR-025Create SMS QR codeUser is authenticated1. Select type “SMS” 2. Enter phone and message 3. CreateQR code createdP1
QR-026Create Email QR codeUser is authenticated1. Select type “Email” 2. Enter recipient, subject, body 3. CreateQR code createdP1
QR-027Create WhatsApp QR codeUser is authenticated1. Select type “WhatsApp” 2. Enter phone and message 3. CreateQR code createdP1
QR-028Create Location QR codeUser is authenticated1. Select type “Location” 2. Enter lat/long 3. CreateQR code createdP2
QR-029Create Event QR codeUser is authenticated1. Select type “Event” 2. Enter event details 3. CreateQR code createdP2
QR-030Validation — empty nameUser is on create form1. Leave name blank 2. Click “Create QR Code”Validation error on name fieldP0
QR-031Validation — no type selectedUser is on create form1. Enter name only 2. Click “Create QR Code”Validation error on type fieldP0
QR-032QR data form appears after type selectionUser is on create form1. Select a type from the dropdownQrDataForm component renders below with type-specific fieldsP0
QR-033Live preview updatesUser is filling out the form1. Select type and enter dataQrPreview component in the right column updates in real timeP1
QR-034Style editor toggleUser is on create form1. Click “Show Style Options”QrStyleEditor component appears 2. Click “Hide Style Options”Editor hides
QR-035Change output format to SVGUser is on create form1. Select “SVG” from the Output Format dropdownfile_format is set to “svg”P1
QR-036Default output format is PNGUser loads the create form1. Navigate to /business/apps/qr/codes/newOutput Format shows “PNG” by defaultP2

IDDescriptionPreconditionsStepsExpected ResultPriority
QR-040Detail page loadsQR code exists1. Navigate to /business/apps/qr/codes/[id]Header shows name, QrStatusBadge, type badge; info card shows Format, Status, Created, Updated datesP0
QR-041Existing QR image displaysQR code has a file_path1. Navigate to detail pageGenerated QR code image renders in the preview columnP0
QR-042Update QR code nameDetail page is open1. Change the name field 2. Click “Save Changes”Success toast; name updatesP0
QR-043Update QR code type and dataDetail page is open1. Change type from URL to Text 2. Update data fields 3. Click “Save Changes”Type and data update; live preview reflects changesP0
QR-044Update style optionsDetail page is open1. Click “Show Style Options” 2. Change style settings 3. Click “Save Changes”Style persists on reloadP1
QR-045Change output formatDetail page is open1. Switch from PNG to SVG 2. SaveFormat updatesP1
QR-046Download QR codeDetail page is open1. Click the QrDownloadButtonQR code file downloads in the current format (PNG or SVG)P0
QR-047Delete QR codeDetail page is open1. Click the trash/delete buttonQR code deleted; redirected to /business/apps/qr/codesP0
QR-048Non-owner cannot accessQR code belongs to another user1. Navigate to detail as different user403 Forbidden errorP1
QR-049Dynamic update — scan reflects new dataQR code was created with URL A, scanned, then updated to URL B1. Create QR with URL A 2. Update QR to URL B 3. Scan the QR codeQR code resolves to URL B (dynamic)P0

IDDescriptionPreconditionsStepsExpected ResultPriority
QR-060Settings page loadsUser is authenticated1. Navigate to /business/apps/qr/settingsPage renders with “Settings coming soon.” placeholderP2