work on test models part 1
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:tm_app/data/services/model/address/address.dart';
|
||||
|
||||
void main() {
|
||||
group('Address Model Tests', () {
|
||||
test('fromJson should create a valid Address object', () {
|
||||
final json = {
|
||||
'street': '123 Main St',
|
||||
'city': 'Tehran',
|
||||
'state': 'Tehran',
|
||||
'postal_code': '12345',
|
||||
'country': 'Iran',
|
||||
'address_type': 'home',
|
||||
'is_default': true,
|
||||
};
|
||||
|
||||
final address = Address.fromJson(json);
|
||||
|
||||
expect(address.street, '123 Main St');
|
||||
expect(address.city, 'Tehran');
|
||||
expect(address.isDefault, true);
|
||||
});
|
||||
|
||||
test('toJson should return a valid JSON map', () {
|
||||
final address = const Address(
|
||||
street: '456 Elm St',
|
||||
city: 'Shiraz',
|
||||
state: 'Fars',
|
||||
postalCode: '67890',
|
||||
country: 'Iran',
|
||||
addressType: 'office',
|
||||
isDefault: false,
|
||||
);
|
||||
|
||||
final json = address.toJson();
|
||||
|
||||
expect(json['street'], '456 Elm St');
|
||||
expect(json['city'], 'Shiraz');
|
||||
expect(json['is_default'], false);
|
||||
});
|
||||
|
||||
test('copyWith should create a new Address with updated fields', () {
|
||||
final address = const Address(
|
||||
street: 'A',
|
||||
city: 'B',
|
||||
state: 'C',
|
||||
postalCode: 'D',
|
||||
country: 'E',
|
||||
addressType: 'home',
|
||||
isDefault: false,
|
||||
);
|
||||
|
||||
final newAddress = address.copyWith(city: 'Tehran');
|
||||
|
||||
expect(newAddress.city, 'Tehran');
|
||||
expect(newAddress.street, 'A');
|
||||
});
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user