work on test models part 1
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:tm_app/data/services/model/contact_person/contact_person.dart';
|
||||
void main() {
|
||||
group('ContactPerson Model Tests', () {
|
||||
test('fromJson should create a valid ContactPerson object', () {
|
||||
final json = {
|
||||
'first_name': 'Ali',
|
||||
'last_name': 'Rezaei',
|
||||
'full_name': 'Ali Rezaei',
|
||||
'position': 'Manager',
|
||||
'email': 'ali@example.com',
|
||||
'phone': '0211234567',
|
||||
'mobile': '09121234567',
|
||||
'is_primary': true,
|
||||
};
|
||||
|
||||
final person = ContactPerson.fromJson(json);
|
||||
|
||||
expect(person.firstName, 'Ali');
|
||||
expect(person.lastName, 'Rezaei');
|
||||
expect(person.fullName, 'Ali Rezaei');
|
||||
expect(person.position, 'Manager');
|
||||
expect(person.email, 'ali@example.com');
|
||||
expect(person.isPrimary, true);
|
||||
});
|
||||
|
||||
test('toJson should return a valid JSON map', () {
|
||||
const person = ContactPerson(
|
||||
firstName: 'Sara',
|
||||
lastName: 'Ahmadi',
|
||||
fullName: 'Sara Ahmadi',
|
||||
position: 'Developer',
|
||||
email: 'sara@example.com',
|
||||
phone: '0219876543',
|
||||
mobile: '09129876543',
|
||||
isPrimary: false,
|
||||
);
|
||||
|
||||
final json = person.toJson();
|
||||
|
||||
expect(json['first_name'], 'Sara');
|
||||
expect(json['last_name'], 'Ahmadi');
|
||||
expect(json['full_name'], 'Sara Ahmadi');
|
||||
expect(json['position'], 'Developer');
|
||||
expect(json['email'], 'sara@example.com');
|
||||
expect(json['is_primary'], false);
|
||||
});
|
||||
|
||||
test('copyWith should create a new ContactPerson with updated fields', () {
|
||||
const person = ContactPerson(
|
||||
firstName: 'Ali',
|
||||
lastName: 'Rezaei',
|
||||
fullName: 'Ali Rezaei',
|
||||
position: 'Manager',
|
||||
email: 'ali@example.com',
|
||||
phone: '0211234567',
|
||||
mobile: '09121234567',
|
||||
isPrimary: true,
|
||||
);
|
||||
|
||||
final newPerson = person.copyWith(email: 'newemail@example.com');
|
||||
|
||||
expect(newPerson.email, 'newemail@example.com');
|
||||
expect(newPerson.firstName, 'Ali');
|
||||
});
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user