Files
eatvio_app/test/features/settings/models/oauth_attach_request_test.dart

83 lines
2.5 KiB
Dart

import 'package:eatvio_app/features/settings/models/oauth_attach_request.dart';
import 'package:flutter_test/flutter_test.dart';
void main() {
group('OAuthAttachRequest', () {
test('creates OAuthAttachRequest with all parameters', () {
const request = OAuthAttachRequest(
provider: 'google',
clientId: 'client123',
accessToken: 'access_token_123',
refreshToken: 'refresh_token_123',
);
expect(request.provider, 'google');
expect(request.clientId, 'client123');
expect(request.accessToken, 'access_token_123');
expect(request.refreshToken, 'refresh_token_123');
});
test('creates OAuthAttachRequest with null clientId', () {
const request = OAuthAttachRequest(
provider: 'facebook',
clientId: null,
accessToken: 'access_token_456',
refreshToken: 'refresh_token_456',
);
expect(request.provider, 'facebook');
expect(request.clientId, null);
expect(request.accessToken, 'access_token_456');
expect(request.refreshToken, 'refresh_token_456');
});
test('creates OAuthAttachRequest from JSON with clientId', () {
final json = {
'provider': 'google',
'client_id': 'client123',
'access_token': 'access_token_123',
'refresh_token': 'refresh_token_123',
};
final request = OAuthAttachRequest.fromJson(json);
expect(request.provider, 'google');
expect(request.clientId, 'client123');
expect(request.accessToken, 'access_token_123');
expect(request.refreshToken, 'refresh_token_123');
});
test('creates OAuthAttachRequest from JSON without clientId', () {
final json = {
'provider': 'facebook',
'access_token': 'access_token_456',
'refresh_token': 'refresh_token_456',
};
final request = OAuthAttachRequest.fromJson(json);
expect(request.provider, 'facebook');
expect(request.clientId, null);
expect(request.accessToken, 'access_token_456');
expect(request.refreshToken, 'refresh_token_456');
});
test('creates OAuthAttachRequest with different providers', () {
const googleRequest = OAuthAttachRequest(
provider: 'google',
accessToken: 'token1',
refreshToken: 'refresh1',
);
const facebookRequest = OAuthAttachRequest(
provider: 'facebook',
accessToken: 'token2',
refreshToken: 'refresh2',
);
expect(googleRequest.provider, 'google');
expect(facebookRequest.provider, 'facebook');
});
});
}