Files
tm_app/test/model/feedback_request_test.dart
2025-10-06 16:26:53 +03:30

58 lines
1.5 KiB
Dart

import 'package:flutter_test/flutter_test.dart';
import 'package:tm_app/data/services/model/feedback_request/feedback_request.dart';
void main() {
group('FeedbackRequest Tests', () {
test('fromJson should parse JSON correctly', () {
final json = {
'feedback_type': 'positive',
'tender_id': 'TND123',
};
final request = FeedbackRequest.fromJson(json);
expect(request.feedbackType, 'positive');
expect(request.tenderId, 'TND123');
});
test('toJson should return valid JSON map', () {
const request = FeedbackRequest(
feedbackType: 'negative',
tenderId: 'TND999',
);
final json = request.toJson();
expect(json, isA<Map<String, dynamic>>());
expect(json['feedback_type'], 'negative');
expect(json['tender_id'], 'TND999');
});
test('copyWith should modify specific fields only', () {
const request = FeedbackRequest(
feedbackType: 'neutral',
tenderId: 'TND111',
);
final updated = request.copyWith(
feedbackType: 'positive',
);
expect(updated.feedbackType, 'positive');
expect(updated.tenderId, 'TND111');
});
test('fromJson -> toJson round-trip should preserve data', () {
final json = {
'feedback_type': 'positive',
'tender_id': 'TND001',
};
final request = FeedbackRequest.fromJson(json);
final output = request.toJson();
expect(output['feedback_type'], 'positive');
expect(output['tender_id'], 'TND001');
});
});
}