Share Testing Checklist

Comprehensive checklist for testing CloudKit sharing functionality in TheCompanyApp.

Test Setup

Required Resources

Devices/Users:

  • User A (Owner): iPhone/iPad with iCloud account A

  • User B (Participant): iPhone/iPad with iCloud account B (different Apple ID)

  • User C (Participant 2): Optional, for multi-participant testing

  • Network: Wi-Fi connection for both devices

Preparation:

  • Sign in to iCloud on both devices

  • Install TheCompanyApp (TestFlight or Debug)

  • Enable iCloud for TheCompanyApp in Settings

  • Verify internet connectivity

Sharing Flow Tests

Test 1: Create and Share Company

User A (Owner):

User B (Participant):

Test 2: Verify Shared Data

User A (Owner):

User B (Participant):

Result: All data synced correctly.

Test 3: Participant Creates Data

User B (Participant):

User A (Owner):

Result: Participant edits sync to owner.

Test 4: Owner Creates Data (Post-Share)

User A (Owner):

User B (Participant):

Result: Owner edits sync to participant.

Test 5: Concurrent Edits

Setup: Both users edit same order at the same time (offline).

User A (Owner):

User B (Participant):

Both Users:

Verify:

Test 6: Delete Shared Object

User A (Owner):

User B (Participant):

User B (Participant):

User A (Owner):

Result: Deletions sync bidirectionally.

Permission Tests

Test 7: Read-Only Permission

User A (Owner):

User B (Participant):

Result: Read-only permission enforced.

Test 8: Read-Write Permission

User A (Owner):

User B (Participant):

Result: Read-write permission works.

Test 9: AccessControl Integration

User A (Owner):

User B (Participant):

Result: AccessControl permissions enforced.

Multi-Device Tests

Test 10: Owner Multi-Device Sync

User A - iPhone:

User A - iPad (same Apple ID):

User A - iPad:

User A - iPhone:

Result: Owner's data syncs across their devices.

Test 11: Participant Multi-Device Sync

User B - iPhone:

User B - iPad (same Apple ID as User B iPhone):

Result: Participant's data syncs across their devices.

Removal Tests

Test 12: Remove Participant

User A (Owner):

User B (Participant):

Result: Participant removed successfully.

Test 13: Stop Sharing

User A (Owner):

User B (Participant):

User A (Owner):

Result: Share stopped, company reverts to owner-only.

Test 14: Delete Shared Company

User A (Owner):

User B (Participant):

User A (Owner):

Result: Deletion cascades to all participants.

Edge Cases

Test 15: Offline Share Acceptance

User B (Participant):

User B (Participant):

Result: Offline handling works.

Test 16: UserPass Isolation

User A (Owner):

User B (Participant):

Verify Isolation:

Result: UserPass not shared, each user has private credentials.

Test 17: Large Data Sync

User A (Owner):

User B (Participant):

Performance:

Result: Large datasets sync correctly.

Result Summary

Pass Criteria: All checkboxes checked with expected results.

Failure Handling:

  • Document failed test case

  • Capture screenshots

  • Check CloudKit logs (see Debugging Logs)

  • Report issue with details


Related: Troubleshooting, Debugging Logs, TestFlight Flow

Last updated