import 'package:flutter_test/flutter_test.dart'; import 'package:social_app/features/auth/data/models/signup_request.dart'; import 'package:social_app/features/auth/data/models/login_request.dart'; import 'package:social_app/features/auth/data/models/auth_response.dart'; void main() { group('SignupStartRequest', () { test('serializes to JSON', () { final request = SignupStartRequest( username: 'testuser', email: 'test@example.com', password: 'password123', ); final json = request.toJson(); expect(json['username'], 'testuser'); expect(json['email'], 'test@example.com'); expect(json['password'], 'password123'); }); }); group('LoginRequest', () { test('serializes to JSON', () { final request = LoginRequest( email: 'test@example.com', password: 'password123', ); final json = request.toJson(); expect(json['email'], 'test@example.com'); expect(json['password'], 'password123'); }); }); group('AuthResponse', () { test('parses from JSON', () { final json = { 'access_token': 'test_access', 'refresh_token': 'test_refresh', 'expires_in': 3600, 'token_type': 'bearer', 'user': {'id': '123', 'email': 'test@example.com'}, }; final response = AuthResponse.fromJson(json); expect(response.accessToken, 'test_access'); expect(response.refreshToken, 'test_refresh'); expect(response.expiresIn, 3600); expect(response.user.id, '123'); expect(response.user.email, 'test@example.com'); }); }); }