Skip to content

Commit

Permalink
working?
Browse files Browse the repository at this point in the history
  • Loading branch information
vpandiarajan20 committed Dec 6, 2024
1 parent df91fe2 commit 1e8a276
Show file tree
Hide file tree
Showing 3 changed files with 800 additions and 75 deletions.
8 changes: 4 additions & 4 deletions lib/src/app/data.dart
Original file line number Diff line number Diff line change
Expand Up @@ -538,7 +538,7 @@ class DataClient {
/// as long as it was synced within the last year.
///
/// For more information, see [Data Client API](https://docs.viam.com/appendix/apis/data-client/).
Future<(DateTime, DateTime, Map<String, dynamic>)?> getLatestTabularData(
Future<({DateTime timeCaptured, DateTime timeSynced, Map<String, dynamic> payload})?> getLatestTabularData(
String partId,
String resourceName,
String resourceSubtype,
Expand All @@ -557,9 +557,9 @@ class DataClient {
}

return (
response.timeCaptured.toDateTime(),
response.timeSynced.toDateTime(),
response.payload.toMap(),
timeCaptured: response.timeCaptured.toDateTime(),
timeSynced: response.timeSynced.toDateTime(),
payload: response.payload.toMap(),
);
}
}
Expand Down
27 changes: 12 additions & 15 deletions test/unit_test/app/data_client_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import 'package:viam_sdk/src/gen/app/data/v1/data.pb.dart';
import 'package:viam_sdk/src/gen/app/data/v1/data.pbgrpc.dart';
import 'package:viam_sdk/src/gen/google/protobuf/timestamp.pb.dart';
import 'package:viam_sdk/src/media/image.dart';
import 'package:viam_sdk/src/utils.dart';

import '../mocks/mock_response_future.dart';
import '../mocks/service_clients_mocks.mocks.dart';
Expand Down Expand Up @@ -295,27 +296,27 @@ void main() {
verify(serviceClient.removeBinaryDataFromDatasetByIDs(any)).called(1);
});
test('getLatestTabularData', () async {
final timeCaptured = DateTime(2023, 1, 1);
final timeSynced = DateTime(2023, 1, 2);
final payload = Struct()..fields.addAll({'key': Value()..stringValue = 'value'});
final timeCaptured = DateTime.utc(2023, 1, 1);
final timeSynced = DateTime.utc(2023, 1, 2);
final Map<String, dynamic> payload = {'key': 'value'};

when(serviceClient.getLatestTabularData(any)).thenAnswer((_) => MockResponseFuture.value(GetLatestTabularDataResponse()
..timeCaptured = Timestamp.fromDateTime(timeCaptured)
..timeSynced = Timestamp.fromDateTime(timeSynced)
..payload = payload));
when(serviceClient.getLatestTabularData(any)).thenAnswer((_) => MockResponseFuture.value(GetLatestTabularDataResponse(
timeCaptured: Timestamp.fromDateTime(timeCaptured),
timeSynced: Timestamp.fromDateTime(timeSynced),
payload: payload.toStruct())));

final response = await dataClient.getLatestTabularData('part-id', 'resource-name', 'resource-subtype', 'method-name');

expect(response?.$1, equals(timeCaptured));
expect(response?.$2, equals(timeSynced));
expect(response?.$3, equals({'key': 'value'}));
expect(response?.timeCaptured, equals(timeCaptured));
expect(response?.timeSynced, equals(timeSynced));
expect(response?.payload, equals({'key': 'value'}));

verify(serviceClient.getLatestTabularData(any)).called(1);

// Test null response
when(serviceClient.getLatestTabularData(any)).thenAnswer((_) => MockResponseFuture.value(GetLatestTabularDataResponse()));

final nullResponse = await serviceClient.getLatestTabularData('part-id', 'resource-name', 'resource-subtype', 'method-name');
final nullResponse = await dataClient.getLatestTabularData('part-id', 'resource-name', 'resource-subtype', 'method-name');

expect(nullResponse, isNull);
});
Expand Down Expand Up @@ -434,13 +435,9 @@ void main() {
final response = await dataClient.listDatasetsByIDs(['dataset-id']);
expect(response, equals(expected));
});


});
});



group('Filter Utils Tests', () {
test('setDateTimeCaptureInterval', () {
final filter = Filter();
Expand Down
Loading

0 comments on commit 1e8a276

Please sign in to comment.