Files
crowd-funder-for-time-pwa/docs/migration-testing/TESTING_CONTACTIMPORT.md
Matthew Raymer 2e2d858cc9 Fix migration dates, add multi-platform testing infrastructure, and organize docs
Migration Date Corrections:
- Update all migration TODO comments to use correct date: 2025-07-06
- Add proper TypeScript type declarations for $route and $router in DeepLinkErrorView
- Fix template property references to use $route instead of route

Multi-Platform Testing Infrastructure:
- Add comprehensive multi-platform testing requirements for migrations
- Update component migration template with platform testing requirements
- Establish sign-off requirements for web, desktop, and mobile platforms
- Document expected outcomes and validation procedures

Migration Testing Organization:
- Create docs/migration-testing/ folder for testing documentation
- Move TESTING_CONTACTIMPORT.md from project root to migration-testing/
- Relocate all migration-checklist-*.md files to migration-testing/
- Add comprehensive README.md with organization guidelines
- Update file references in components and TODOs
- Establish naming conventions and quality standards

Files added:
- docs/migration-testing/README.md
- docs/migration-testing/TESTING_CONTACTIMPORT.md
- docs/migration-testing/migration-checklist-ContactImportView.md
- docs/migration-testing/migration-checklist-MembersList.md

Files modified:
- src/views/ContactImportView.vue (date correction)
- src/components/MembersList.vue (date correction, reference path update)
- src/views/DeepLinkErrorView.vue (date correction, Vue router types)
- docs/migration-templates/component-migration.md (multi-platform requirements)

Files moved:
- TESTING_CONTACTIMPORT.md → docs/migration-testing/
- docs/migration-checklist-*.md → docs/migration-testing/

This establishes comprehensive testing infrastructure for all future migrations
with proper organization and multi-platform validation requirements.
2025-07-06 06:05:18 +00:00

2.3 KiB

ContactImportView.vue Testing Guide

Quick Testing Setup

  • Web server running at: http://localhost:3000
  • Migration completed: 2025-07-06
  • Component: src/views/ContactImportView.vue

Test URLs (Copy/Paste into Browser)

1. Basic Page Load

http://localhost:3000/contact-import

Expected: Manual JWT input page loads

2. Single Contact Import

http://localhost:3000/contact-import?contacts=[{"did":"did:test:123","name":"Test User"}]

Expected: "Test User" appears in import list

3. Multiple Contacts Import

http://localhost:3000/contact-import?contacts=[{"did":"did:test:alice","name":"Alice"},{"did":"did:test:bob","name":"Bob"}]

Expected: Both contacts appear in import list

4. Malformed Data Test

Navigate to basic page and paste this into textarea:

[{"invalid":"data","missing":"did"}]

Expected: Error message displays

Browser Developer Tools Validation

Console Tab

  • Check for errors during page load
  • Verify error logging works (test malformed data)
  • Look for properly formatted log messages

Application Tab

  • Navigate to: IndexedDB → TimeSafari
  • Check contacts table for imported contacts
  • Check logs table for error entries

Network Tab

  • Monitor API calls during import
  • Verify visibility setting API calls (if enabled)

Testing Checklist

Web Platform (Chrome) /

  • Basic page loads without errors
  • Single contact import works
  • Multiple contacts import works
  • Database operations work (check IndexedDB)
  • Error handling works (malformed data)
  • Logging works (console + database)
  • Visibility setting works
  • Duplicate detection works

Expected Database Operations

  • Insert: New contacts added to contacts table
  • Update: Existing contacts updated if imported again
  • Logging: Errors recorded in logs table
  • Persistence: Data survives page refresh

Success Criteria

  • No console errors during normal operation
  • Contacts successfully imported and visible in contacts list
  • Error scenarios handled gracefully
  • Database operations work correctly
  • Logging functions as expected

Notes

  • Test both with and without existing contacts
  • Verify redirect to contacts page after import
  • Check success/error notifications display
  • Validate contact data structure in database