Files
Connor Johnstone 7d00a2dadb
Some checks failed
Integration Tests / e2e-tests (push) Failing after 4s
Integration Tests / unit-tests (push) Failing after 1m1s
Implement comprehensive frontend integration testing with Playwright
- Add Playwright E2E testing framework with cross-browser support (Chrome, Firefox)
- Create authentication helpers for CalDAV server integration
- Implement calendar interaction helpers with event creation, drag-and-drop, and view switching
- Add comprehensive drag-and-drop test suite with event cleanup
- Configure CI/CD integration with Gitea Actions for headless testing
- Support both local development and CI environments with proper dependency management
- Include video recording, screenshots, and HTML reporting for test debugging
- Handle Firefox-specific timing and interaction challenges with force clicks and timeouts

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-08 11:54:40 -04:00

10 KiB
Raw Blame History

Page snapshot

- generic [ref=e2]:
  - complementary [ref=e3]:
    - generic [ref=e4]:
      - heading "Runway" [level=1] [ref=e5]
      - generic [ref=e6]:
        - generic [ref=e7]: test
        - generic [ref=e8]: https://baikal.rcjohnstone.com/dav.php/
    - generic [ref=e9]:
      - heading "My Calendars" [level=3] [ref=e10]
      - list [ref=e11]:
        - listitem [ref=e12] [cursor=pointer]:
          - generic [ref=e13] [cursor=pointer]:
            - checkbox [checked] [ref=e14] [cursor=pointer]
            - generic [ref=e16] [cursor=pointer]: Default
        - listitem [ref=e17] [cursor=pointer]:
          - generic [ref=e18] [cursor=pointer]:
            - checkbox [checked] [ref=e19] [cursor=pointer]
            - generic [ref=e21] [cursor=pointer]: My New Calendar
        - listitem [ref=e22] [cursor=pointer]:
          - generic [ref=e23] [cursor=pointer]:
            - checkbox [checked] [ref=e24] [cursor=pointer]
            - generic [ref=e26] [cursor=pointer]: Third Calendar
    - generic [ref=e27]:
      - heading "External Calendars" [level=3] [ref=e28]
      - list [ref=e29]:
        - listitem [ref=e30]:
          - generic [ref=e31] [cursor=pointer]:
            - checkbox [checked] [ref=e32] [cursor=pointer]
            - generic [ref=e34] [cursor=pointer]: DSA
            - generic [ref=e35] [cursor=pointer]:
              - 'generic "Last updated: 2025-09-08 11:40" [ref=e36] [cursor=pointer]': 11:40
              - button "🔄" [ref=e37] [cursor=pointer]
        - listitem [ref=e38]:
          - generic [ref=e39] [cursor=pointer]:
            - checkbox [checked] [ref=e40] [cursor=pointer]
            - generic [ref=e42] [cursor=pointer]: Work
            - generic [ref=e43] [cursor=pointer]:
              - 'generic "Last updated: 2025-09-08 11:40" [ref=e44] [cursor=pointer]': 11:40
              - button "🔄" [ref=e45] [cursor=pointer]
    - generic [ref=e46]:
      - button "+ Add Calendar" [ref=e47] [cursor=pointer]
      - combobox [ref=e49] [cursor=pointer]:
        - option "Month"
        - option "Week" [selected]
      - combobox [ref=e51] [cursor=pointer]:
        - option "Default" [selected]
        - option "Ocean"
        - option "Forest"
        - option "Sunset"
        - option "Purple"
        - option "Dark"
        - option "Rose"
        - option "Mint"
      - combobox [ref=e53] [cursor=pointer]:
        - option "Default" [selected]
        - option "Google Calendar"
      - button "Logout" [ref=e54] [cursor=pointer]
  - main [ref=e55]:
    - generic [ref=e57]:
      - generic [ref=e58]:
        - generic [ref=e59]:
          - button "" [ref=e60] [cursor=pointer]
          - button "15" [ref=e61] [cursor=pointer]
        - heading "September 2025" [level=2] [ref=e62]
        - generic [ref=e63]:
          - button "Today" [ref=e64] [cursor=pointer]
          - button "" [ref=e65] [cursor=pointer]
      - generic [ref=e66]:
        - generic [ref=e67]:
          - generic [ref=e70]:
            - generic [ref=e71]: Sun
            - generic [ref=e72]: "7"
          - generic [ref=e74]:
            - generic [ref=e75]: Mon
            - generic [ref=e76]: "8"
          - generic [ref=e78]:
            - generic [ref=e79]: Tue
            - generic [ref=e80]: "9"
          - generic [ref=e82]:
            - generic [ref=e83]: Wed
            - generic [ref=e84]: "10"
          - generic [ref=e86]:
            - generic [ref=e87]: Thu
            - generic [ref=e88]: "11"
          - generic [ref=e90]:
            - generic [ref=e91]: Fri
            - generic [ref=e92]: "12"
          - generic [ref=e94]:
            - generic [ref=e95]: Sat
            - generic [ref=e96]: "13"
        - generic [ref=e98]:
          - generic [ref=e99]:
            - generic [ref=e100]: 12 AM
            - generic [ref=e101]: 1 AM
            - generic [ref=e102]: 2 AM
            - generic [ref=e103]: 3 AM
            - generic [ref=e104]: 4 AM
            - generic [ref=e105]: 5 AM
            - generic [ref=e106]: 6 AM
            - generic [ref=e107]: 7 AM
            - generic [ref=e108]: 8 AM
            - generic [ref=e109]: 9 AM
            - generic [ref=e110]: 10 AM
            - generic [ref=e111]: 11 AM
            - generic [ref=e112]: 12 PM
            - generic [ref=e113]: 1 PM
            - generic [ref=e114]: 2 PM
            - generic [ref=e115]: 3 PM
            - generic [ref=e116]: 4 PM
            - generic [ref=e117]: 5 PM
            - generic [ref=e118]: 6 PM
            - generic [ref=e119]: 7 PM
            - generic [ref=e120]: 8 PM
            - generic [ref=e121]: 9 PM
            - generic [ref=e122]: 10 PM
            - generic [ref=e123]: 11 PM
          - generic [ref=e124]:
            - generic [ref=e125]:
              - generic:
                - generic [ref=e128] [cursor=pointer]:
                  - generic [ref=e129] [cursor=pointer]: Invalid Drag Test 1757345928576
                  - generic [ref=e130] [cursor=pointer]: 1:00 - 02:00 PM
                - generic [ref=e134] [cursor=pointer]:
                  - generic [ref=e135] [cursor=pointer]: Cross Day Drag 1757345927213
                  - generic [ref=e136] [cursor=pointer]: 9:00 - 10:00 AM
                - generic [ref=e140] [cursor=pointer]:
                  - generic [ref=e141] [cursor=pointer]: Invalid Drag Test 1757346258778
                  - generic [ref=e142] [cursor=pointer]: 1:00 - 02:00 PM
                - generic [ref=e146] [cursor=pointer]:
                  - generic [ref=e147] [cursor=pointer]: Drag Test Event 1757346275445
                  - generic [ref=e148] [cursor=pointer]: 1:00 - 02:00 AM
                - generic [ref=e152] [cursor=pointer]:
                  - generic [ref=e153] [cursor=pointer]: Invalid Drag Test 1757346277496
                  - generic [ref=e154] [cursor=pointer]: 1:00 - 02:00 PM
                - generic [ref=e158] [cursor=pointer]:
                  - generic [ref=e159] [cursor=pointer]: Cross Day Drag 1757346258183
                  - generic [ref=e160] [cursor=pointer]: 9:00 - 10:00 AM
                - generic [ref=e164] [cursor=pointer]:
                  - generic [ref=e165] [cursor=pointer]: Visual Feedback Test 1757346258108
                  - generic [ref=e166] [cursor=pointer]: 11:00 AM - 12:00 PM
                - generic [ref=e170] [cursor=pointer]:
                  - generic [ref=e171] [cursor=pointer]: Drag Test Event 1757346256374
                  - generic [ref=e172] [cursor=pointer]: 1:00 - 02:00 AM
                - generic [ref=e176] [cursor=pointer]:
                  - generic [ref=e177] [cursor=pointer]: BOSK and Beyond
                  - generic [ref=e178] [cursor=pointer]: 6:00 - 08:00 PM
            - generic [ref=e180]:
              - generic:
                - generic [ref=e183] [cursor=pointer]:
                  - generic [ref=e184] [cursor=pointer]: MACI Tag-Up Meeting
                  - generic [ref=e185] [cursor=pointer]: 6:00 - 07:00 PM
                - generic [ref=e189] [cursor=pointer]:
                  - generic [ref=e190] [cursor=pointer]: All Hands
                  - generic [ref=e191] [cursor=pointer]: 12:30 - 01:00 PM
              - generic:
                - generic:
                  - generic: 11:45 AM
            - generic [ref=e193]:
              - generic:
                - generic [ref=e196] [cursor=pointer]:
                  - generic [ref=e197] [cursor=pointer]: test
                  - generic [ref=e198] [cursor=pointer]: 5:45 - 06:45 PM
                - generic [ref=e202] [cursor=pointer]:
                  - generic [ref=e203] [cursor=pointer]: Tech & Logistics Commission Meeting
                  - generic [ref=e204] [cursor=pointer]: 6:30 - 08:30 PM
                - generic [ref=e208] [cursor=pointer]:
                  - generic [ref=e209] [cursor=pointer]: VLEO IRaD - Standup (15 - 30 mins)
                  - generic [ref=e210] [cursor=pointer]: 5:00 - 05:30 PM
                - generic [ref=e214] [cursor=pointer]:
                  - generic [ref=e215] [cursor=pointer]: OrbitIQ/Victus Haze IRAD Standup
                  - generic [ref=e216] [cursor=pointer]: 3:30 - 04:00 PM
                - generic [ref=e220] [cursor=pointer]:
                  - generic [ref=e221] [cursor=pointer]: "Lunch-and-Learn: Susan G. Komen Partnership"
                  - generic [ref=e222] [cursor=pointer]: 12:00 - 01:00 PM
            - generic [ref=e227] [cursor=pointer]:
              - generic [ref=e228] [cursor=pointer]: Communications Committee Meeting
              - generic [ref=e229] [cursor=pointer]: 6:30 - 07:30 PM
            - generic [ref=e231]:
              - generic:
                - generic [ref=e234] [cursor=pointer]:
                  - generic [ref=e235] [cursor=pointer]: Membership Engagement & Political Education Committee Meetings
                  - generic [ref=e236] [cursor=pointer]: 6:30 - 08:30 PM
                - generic [ref=e240] [cursor=pointer]:
                  - generic [ref=e241] [cursor=pointer]: "SolCity Action Alert: PACK THE ROOM at Metro Council Meeting"
                  - generic [ref=e242] [cursor=pointer]: 6:00 - 07:00 PM
                - generic [ref=e246] [cursor=pointer]:
                  - generic [ref=e247] [cursor=pointer]: VLEO IRaD - Standup (15 - 30 mins)
                  - generic [ref=e248] [cursor=pointer]: 5:00 - 05:30 PM
                - generic [ref=e252] [cursor=pointer]:
                  - generic [ref=e253] [cursor=pointer]: OrbitIQ/Victus Haze IRAD Standup
                  - generic [ref=e254] [cursor=pointer]: 3:30 - 04:00 PM
                - generic [ref=e258] [cursor=pointer]:
                  - generic [ref=e259] [cursor=pointer]: KM NLP Weekly Technical Meeting
                  - generic [ref=e260] [cursor=pointer]: 4:30 - 05:00 PM
            - generic [ref=e263]:
              - generic:
                - generic [ref=e266] [cursor=pointer]:
                  - generic [ref=e267] [cursor=pointer]: Website Sub-Committee Working Meeting
                  - generic [ref=e268] [cursor=pointer]: 3:00 - 05:00 PM
                - generic [ref=e272] [cursor=pointer]:
                  - generic [ref=e273] [cursor=pointer]: Gender Affirming Clothing Swap
                  - generic [ref=e274] [cursor=pointer]: 11:00 AM - 01:00 PM