222 lines
5.6 KiB
Dart
222 lines
5.6 KiB
Dart
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:rasadyar_chicken/presentation/utils/string_utils.dart';
|
|
|
|
void main() {
|
|
group('XStringUtils', () {
|
|
group('faAllocationType', () {
|
|
test('should convert simple string using utilsMap', () {
|
|
// Arrange
|
|
const input = 'killhouse';
|
|
const expected = 'کشتارگاه به';
|
|
|
|
// Act
|
|
final result = input.faAllocationType;
|
|
|
|
// Assert
|
|
expect(result, equals(expected));
|
|
});
|
|
|
|
test('should convert string with underscore using utilsMap', () {
|
|
// Arrange
|
|
const input = 'steward_exclusive';
|
|
const expected = 'مباشر به اختصاصی';
|
|
|
|
// Act
|
|
final result = input.faAllocationType;
|
|
|
|
// Assert
|
|
expect(result, equals(expected));
|
|
});
|
|
|
|
test('should return original string when not found in utilsMap', () {
|
|
// Arrange
|
|
const input = 'unknown_string';
|
|
const expected = 'unknown به string';
|
|
|
|
// Act
|
|
final result = input.faAllocationType;
|
|
|
|
// Assert
|
|
expect(result, equals(expected));
|
|
});
|
|
|
|
test('should handle single word without underscore', () {
|
|
// Arrange
|
|
const input = 'free';
|
|
const expected = 'آزاد به';
|
|
|
|
// Act
|
|
final result = input.faAllocationType;
|
|
|
|
// Assert
|
|
expect(result, equals(expected));
|
|
});
|
|
|
|
test('should handle multiple underscores correctly', () {
|
|
// Arrange
|
|
const input = 'steward_exclusive_guild';
|
|
const expected = 'مباشر به اختصاصی صنف';
|
|
|
|
// Act
|
|
final result = input.faAllocationType;
|
|
|
|
// Assert
|
|
expect(result, equals(expected));
|
|
});
|
|
});
|
|
|
|
group('faItem', () {
|
|
test('should convert string using utilsMap', () {
|
|
// Arrange
|
|
const input = 'pending';
|
|
const expected = 'در انتظار';
|
|
|
|
// Act
|
|
final result = input.faItem;
|
|
|
|
// Assert
|
|
expect(result, equals(expected));
|
|
});
|
|
|
|
test('should return original string when not found in utilsMap', () {
|
|
// Arrange
|
|
const input = 'unknown_item';
|
|
const expected = 'unknown_item';
|
|
|
|
// Act
|
|
final result = input.faItem;
|
|
|
|
// Assert
|
|
expect(result, equals(expected));
|
|
});
|
|
|
|
test('should handle empty string', () {
|
|
// Arrange
|
|
const input = '';
|
|
const expected = '';
|
|
|
|
// Act
|
|
final result = input.faItem;
|
|
|
|
// Assert
|
|
expect(result, equals(expected));
|
|
});
|
|
});
|
|
|
|
group('buyerIsGuild', () {
|
|
test('should return true when last part is guild', () {
|
|
// Arrange
|
|
const input = 'steward_exclusive_guild';
|
|
|
|
// Act
|
|
final result = input.buyerIsGuild;
|
|
|
|
// Assert
|
|
expect(result, isTrue);
|
|
});
|
|
|
|
test('should return false when last part is not guild', () {
|
|
// Arrange
|
|
const input = 'steward_exclusive_governmental';
|
|
|
|
// Act
|
|
final result = input.buyerIsGuild;
|
|
|
|
// Assert
|
|
expect(result, isFalse);
|
|
});
|
|
|
|
test('should return false for single word', () {
|
|
// Arrange
|
|
const input = 'guild';
|
|
|
|
// Act
|
|
final result = input.buyerIsGuild;
|
|
|
|
// Assert
|
|
expect(result, isFalse);
|
|
});
|
|
|
|
test('should return false for empty string', () {
|
|
// Arrange
|
|
const input = '';
|
|
|
|
// Act
|
|
final result = input.buyerIsGuild;
|
|
|
|
// Assert
|
|
expect(result, isFalse);
|
|
});
|
|
});
|
|
|
|
group('faTitle', () {
|
|
test('should convert string using utilsMap', () {
|
|
// Arrange
|
|
const input = 'accepted';
|
|
const expected = 'تایید شده';
|
|
|
|
// Act
|
|
final result = input.faTitle;
|
|
|
|
// Assert
|
|
expect(result, equals(expected));
|
|
});
|
|
|
|
test('should return original string when not found in utilsMap', () {
|
|
// Arrange
|
|
const input = 'unknown_title';
|
|
const expected = 'unknown_title';
|
|
|
|
// Act
|
|
final result = input.faTitle;
|
|
|
|
// Assert
|
|
expect(result, equals(expected));
|
|
});
|
|
|
|
test('should handle empty string', () {
|
|
// Arrange
|
|
const input = '';
|
|
const expected = '';
|
|
|
|
// Act
|
|
final result = input.faTitle;
|
|
|
|
// Assert
|
|
expect(result, equals(expected));
|
|
});
|
|
});
|
|
});
|
|
|
|
group('utilsMap', () {
|
|
test('should contain expected key-value pairs', () {
|
|
// Assert
|
|
expect(utilsMap['killhouse'], equals('کشتارگاه'));
|
|
expect(utilsMap['_'], equals('به'));
|
|
expect(utilsMap['steward'], equals('مباشر'));
|
|
expect(utilsMap['exclusive'], equals('اختصاصی'));
|
|
expect(utilsMap['free'], equals('آزاد'));
|
|
expect(utilsMap['pending'], equals('در انتظار'));
|
|
expect(utilsMap['accepted'], equals('تایید شده'));
|
|
expect(utilsMap['guild'], equals('صنف'));
|
|
expect(utilsMap['governmental'], equals('دولتی'));
|
|
});
|
|
|
|
test('should not be empty', () {
|
|
// Assert
|
|
expect(utilsMap.isNotEmpty, isTrue);
|
|
});
|
|
|
|
test('should have consistent key-value pairs', () {
|
|
// Assert
|
|
expect(utilsMap.length, equals(9));
|
|
expect(utilsMap.keys, contains('killhouse'));
|
|
expect(utilsMap.keys, contains('steward'));
|
|
expect(utilsMap.keys, contains('guild'));
|
|
expect(utilsMap.values, contains('کشتارگاه'));
|
|
expect(utilsMap.values, contains('مباشر'));
|
|
expect(utilsMap.values, contains('صنف'));
|
|
});
|
|
});
|
|
}
|