diff --git a/README.md b/README.md index cd9c7f9..1ca3337 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,8 @@ Workout Test and Diet 4 You Common Util Functions +### Version 1.1.4 +- customer.getPropertyDate + ### Version 1.1.3 - CupertinoPicker error in Flutter 3.10 stable diff --git a/lib/model/customer.dart b/lib/model/customer.dart index 80dca25..86297c7 100644 --- a/lib/model/customer.dart +++ b/lib/model/customer.dart @@ -133,6 +133,18 @@ class Customer { } } + String getPropertyDate(String propertyName) { + if (properties[propertyName] == null) { + return ""; + } else { + if (properties[propertyName]!.dateAdd == null) { + return ""; + } else { + return DateFormat('yyyy-MM-dd').format(properties[propertyName]!.dateAdd!); + } + } + } + setProperty(String propertyName, double value) { properties[propertyName]!.propertyValue = value; } diff --git a/pubspec.yaml b/pubspec.yaml index 3dcf85d..a95ca8d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: workouttest_util description: Workout Test app and web functions. -version: 1.1.3 +version: 1.1.4 environment: sdk: ">=2.18.6 <4.0.0" diff --git a/test/customer_test.dart b/test/customer_test.dart index f23c23c..66b47d5 100644 --- a/test/customer_test.dart +++ b/test/customer_test.dart @@ -1,13 +1,16 @@ import 'dart:convert'; - +import 'package:intl/intl.dart'; +import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:workouttest_util/model/cache.dart'; import 'package:workouttest_util/model/customer.dart'; +import 'package:workouttest_util/model/customer_property.dart'; import 'package:workouttest_util/model/property.dart'; import 'package:workouttest_util/repository/customer_repository.dart'; main() { - setUp(() { + setUp(() async { + await dotenv.load(fileName: "assets/.env"); String propertyJson = ''' [ { @@ -113,4 +116,27 @@ main() { expect(customer.getProperty("Weight"), 66); }); }); + + test('getPropertyDate', () { + var customer = Customer(); + var propertyName = 'testDate'; + + var testDate = DateTime.now(); + var expectedDate = DateFormat('yyyy-MM-dd').format(testDate); + + String json = '''{ + "customerPropertyId": 41, + "propertyId": 1, + "propertyValue": 82.0, + "dateAdd": "$expectedDate", + "goal": false + }'''; + + CustomerProperty property = CustomerProperty.fromJson(jsonDecode(json)); + customer.properties[propertyName] = property; + + var actualDate = customer.getPropertyDate(propertyName); + + expect(actualDate, equals(expectedDate)); + }); }