forked from eatvio/eatvio_app
79 lines
2.5 KiB
Dart
79 lines
2.5 KiB
Dart
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<String, dynamic> 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)));
|
||
});
|
||
});
|
||
}
|
||
|