import 'package:eatvio_app/features/chat/models/payment_model.dart'; import 'package:flutter_test/flutter_test.dart'; import '../../../fixtures/fixture_reader.dart'; void main() { group('PaymentModel', () { test('создает PaymentModel с правильными значениями', () { final model = PaymentModel(paymentUrl: 'https://example.com/payment'); expect(model.paymentUrl, 'https://example.com/payment'); }); test('fromJson создает PaymentModel из JSON', () { final json = {'checkout_url': 'https://example.com/payment'}; final model = PaymentModel.fromJson(json); expect(model.paymentUrl, 'https://example.com/payment'); }); test( 'fromJson парсит ответ alfa-bank (checkout_url, order_id, payment_provider)', () { final json = FixtureReader.readAsMap( 'chat/payments/payment_response_alfa_bank.json', ); final model = PaymentModel.fromJson(json); expect(model.paymentUrl, 'https://qr.nspk.ru/ASDFASDFASDFASDF'); expect(model.orderId, 'alfa_c29_k15138_t1712345678_r1234'); expect(model.paymentProvider, 'alfa-bank'); }, ); test('fromJson парсит mock-ответ (checkout_url без order_id)', () { final json = FixtureReader.readAsMap('chat/payments/payment_response.json'); final model = PaymentModel.fromJson(json); expect(model.paymentUrl, 'https://example.com/checkout/payment-123'); expect(model.orderId, isNull); expect(model.paymentProvider, isNull); }); }); }