import 'package:flutter_test/flutter_test.dart'; import 'package:tane/db/database.dart'; import 'package:tane/db/enums.dart'; import '../support/test_support.dart'; void main() { late AppDatabase db; setUp(() => db = newTestDatabase()); tearDown(() => db.close()); test('shareableLots returns non-private lots with their id and label', () async { final repo = newTestRepository(db); final varietyId = await repo.addQuickVariety( label: 'Tomate rosa', category: 'Solanaceae', ); final sharedId = await repo.addLot( varietyId: varietyId, offerStatus: OfferStatus.exchange, ); final lots = await repo.shareableLots(); final shared = lots.where((l) => l.lotId == sharedId).toList(); expect(shared, hasLength(1)); expect(shared.single.summary, 'Tomate rosa'); expect(shared.single.offerStatus, OfferStatus.exchange); expect(shared.single.category, 'Solanaceae'); }); test('private lots are never shareable', () async { final repo = newTestRepository(db); final varietyId = await repo.addQuickVariety(label: 'Pimiento'); final privateId = await repo.addLot( varietyId: varietyId, offerStatus: OfferStatus.private, ); final lots = await repo.shareableLots(); expect(lots.where((l) => l.lotId == privateId), isEmpty); }); }