import 'package:eatvio_app/features/auth/models/oauth_login_request.dart'; import 'package:flutter_test/flutter_test.dart'; import '../../../fixtures/fixture_reader.dart'; void main() { group('OAuthLoginRequest', () { late Map oauthSignInFixture; setUp(() { oauthSignInFixture = FixtureReader.readAsMap('auth/oauth_signin_request.json'); }); test('создание модели из JSON', () { final model = OAuthLoginRequest.fromJson(oauthSignInFixture); expect(model.provider, oauthSignInFixture['provider']); expect(model.accessToken, oauthSignInFixture['access_token']); expect(model.refreshToken, oauthSignInFixture['refresh_token']); expect(model.clientId, oauthSignInFixture['client_id']); }); test('создание модели через конструктор', () { const model = OAuthLoginRequest( provider: 'vk', accessToken: 'access_token_123', refreshToken: 'refresh_token_123', clientId: 'client_id_123', ); expect(model.provider, 'vk'); expect(model.accessToken, 'access_token_123'); expect(model.refreshToken, 'refresh_token_123'); expect(model.clientId, 'client_id_123'); }); test('преобразование модели в JSON с правильными ключами', () { const model = OAuthLoginRequest( provider: 'vk', accessToken: 'access_token_123', refreshToken: 'refresh_token_123', clientId: 'client_id_123', ); final json = model.toJson(); expect(json['provider'], 'vk'); expect(json['access_token'], 'access_token_123'); expect(json['refresh_token'], 'refresh_token_123'); expect(json['client_id'], 'client_id_123'); }); test('равенство моделей', () { const model1 = OAuthLoginRequest( provider: 'vk', accessToken: 'access_token_123', refreshToken: 'refresh_token_123', clientId: 'client_id_123', ); const model2 = OAuthLoginRequest( provider: 'vk', accessToken: 'access_token_123', refreshToken: 'refresh_token_123', clientId: 'client_id_123', ); const model3 = OAuthLoginRequest( provider: 'google', accessToken: 'access_token_123', refreshToken: 'refresh_token_123', clientId: 'client_id_123', ); expect(model1, equals(model2)); expect(model1, isNot(equals(model3))); }); }); }