Skip to content

Latest commit

 

History

History
153 lines (120 loc) · 4.64 KB

File metadata and controls

153 lines (120 loc) · 4.64 KB

Migration Sub-Issues

This directory contains detailed specifications for each sub-issue in the wdio to Cypress migration project.

Sub-Issue List

# Title Priority Tests Status
01 Device Users 🔴 HIGH 3 ✅ Complete
02 Password Settings 🔴 HIGH 1 ✅ Complete
03 User Administration 🔴 HIGH 1 ✅ Complete
04 Navigation Menu 🟡 MEDIUM 4 ✅ Complete
05 Folders 🟡 MEDIUM 6 ✅ Complete
06 Application Settings 🟡 MEDIUM 2 ✅ Complete
07 Searchable Lists 🟡 MEDIUM 3 ✅ Complete
08 Selectable Lists 🟡 MEDIUM 4 ✅ Complete
09 Workers 🟡 MEDIUM 2 ✅ Complete
10 Profile Settings 🟡 MEDIUM 1 ✅ Complete
11 eForm Visual Editor - Create 🔴 HIGH 1 ✅ Complete
TOTAL 28 89% Complete

How to Use These Sub-Issues

Creating GitHub Issues

Each markdown file can be used as a template for creating a GitHub issue:

  1. Open the relevant sub-issue file (e.g., 01-device-users.md)
  2. Copy the entire content
  3. Create a new GitHub issue
  4. Paste the content as the issue description
  5. Add appropriate labels:
    • testing
    • cypress
    • e2e
    • migration
    • high-priority or medium-priority
  6. Assign to the appropriate developer/team

Working on a Sub-Issue

When implementing a sub-issue:

  1. Read the full specification - Each file contains:

    • Priority and description
    • List of tests to migrate
    • Detailed test coverage information
    • Technical notes and patterns
    • Dependencies and prerequisites
    • Verification checklist
  2. Follow the patterns - Reference:

    • Existing Cypress tests in eform-client/cypress/e2e/
    • Page objects and helper functions
    • Technical notes specific to that feature
  3. Use the checklist - Each sub-issue has an acceptance criteria and verification checklist

  4. Update progress - When complete:

    • Update WDIO_TO_CYPRESS_MIGRATION.md progress tracking
    • Mark tests as complete in the main document
    • Close the GitHub issue

Priority Guide

🔴 HIGH Priority (5 tests)

Critical functionality that should be migrated first:

  • Device Users (mobile app operations)
  • Password Settings (security)
  • User Administration (user management)
  • eForm Visual Editor - Create (core feature)

🟡 MEDIUM Priority (23 tests)

Important features that can be migrated after high priority:

  • Navigation Menu (UI customization)
  • Folders (content organization)
  • Application Settings (configuration)
  • Lists (data entry - searchable & selectable)
  • Workers (staff management)
  • Profile Settings (user preferences)

Recommended Order

Phase 1 - Core Features (High Priority)

  1. Device Users (3 tests) ✅
  2. Password Settings (1 test) ✅
  3. User Administration (1 test) ✅
  4. eForm Visual Editor - Create (1 test) ✅

Phase 2 - UI & Navigation (Medium Priority)

  1. Navigation Menu (4 tests)
  2. Application Settings (2 tests)
  3. Profile Settings (1 test)

Phase 3 - Data Organization (Medium Priority)

  1. Folders (6 tests) - Could be split into two issues
  2. Searchable Lists (3 tests)
  3. Selectable Lists (4 tests)

Phase 4 - Staff Management (Medium Priority)

  1. Workers (2 tests)

Common Patterns Across All Sub-Issues

Test Structure

import loginPage from '../Login.page';

describe('Feature Name', () => {
  beforeEach(() => {
    cy.visit('http://localhost:4200');
    loginPage.login();
  });

  it('should perform action', () => {
    // Test implementation
  });

  afterEach(() => {
    // Cleanup
  });
});

API Interception

cy.intercept('GET', '**/api/endpoint').as('getEndpoint');
cy.get('#triggerBtn').click();
cy.wait('@getEndpoint', { timeout: 60000 });

Element Interaction

// Click
cy.get('#buttonId').click();

// Type
cy.get('#inputId').clear().type('text');

// Select
cy.get('#selectId').select('option');

// Assert
cy.get('#elementId').should('be.visible');
cy.get('#elementId').should('contain', 'text');

Questions?