import 'package:flutter_test/flutter_test.dart'; import 'package:relationship_saver/core/network/backend_exception.dart'; import 'package:relationship_saver/integrations/backend/models/backend_models.dart'; import 'package:relationship_saver/integrations/backend/sync_envelope_validator.dart'; void main() { test('rejects delete envelopes with payload', () { final ChangeEnvelope invalid = ChangeEnvelope( schemaVersion: 1, entityType: 'person', entityId: 'p1', op: ChangeOperation.delete, modifiedAt: DateTime.utc(2026, 1, 1), clientMutationId: 'cm-delete', payload: const {'unexpected': true}, ); expect( () => SyncEnvelopeValidator.validate(invalid), throwsA(isA()), ); }); test('accepts valid upsert envelope', () { final ChangeEnvelope valid = ChangeEnvelope( schemaVersion: 1, entityType: 'person', entityId: 'p2', op: ChangeOperation.upsert, modifiedAt: DateTime.utc(2026, 1, 1), clientMutationId: 'cm-upsert', payload: const {'name': 'Jamie'}, ); expect(() => SyncEnvelopeValidator.validate(valid), returnsNormally); }); }