mirror of
https://github.com/immich-app/immich
synced 2026-08-22 13:13:05 +00:00
fix(mobile): fix return value
This commit is contained in:
parent
8e7169942b
commit
c5ec832422
2 changed files with 28 additions and 1 deletions
|
|
@ -122,7 +122,7 @@ class AndroidViewIntentHandler implements ViewIntentHandler {
|
|||
} on TimeoutException {
|
||||
final asset = await _assetService.getRemoteAsset(remoteAssetId);
|
||||
_logger.warning('watchRemoteAsset timed out for $remoteAssetId; direct get result: $asset');
|
||||
return null;
|
||||
return asset;
|
||||
}
|
||||
|
||||
return uploadedAsset;
|
||||
|
|
|
|||
|
|
@ -311,6 +311,33 @@ void main() {
|
|||
verifyNever(() => router.replaceAll(any()));
|
||||
});
|
||||
|
||||
test('refreshCurrentAfterUpload falls back to direct get when watch times out', () async {
|
||||
final remoteAsset = _remoteAsset(id: 'remote-1', localId: 'local-1');
|
||||
final remoteTimelineService = _timelineServiceFromAssets([remoteAsset], TimelineOrigin.deepLink);
|
||||
addTearDown(() async => remoteTimelineService.dispose());
|
||||
|
||||
when(
|
||||
() => resolver.resolve(payload),
|
||||
).thenAnswer((_) async => ViewIntentResolvedAsset(asset: deepLinkAsset, timelineService: deepLinkTimelineService));
|
||||
final remoteAssetController = StreamController<RemoteAsset?>();
|
||||
addTearDown(remoteAssetController.close);
|
||||
|
||||
when(() => assetService.watchRemoteAsset('remote-1')).thenAnswer((_) => remoteAssetController.stream);
|
||||
when(() => assetService.getRemoteAsset('remote-1')).thenAnswer((_) async => remoteAsset);
|
||||
when(() => resolver.timelineFor(any())).thenReturn(remoteTimelineService);
|
||||
|
||||
await handler.handle(payload);
|
||||
await handler.refreshCurrentAfterUpload(remoteAssetId: 'remote-1', timeout: Duration.zero);
|
||||
|
||||
expect(container.read(assetViewerProvider).currentAsset, remoteAsset);
|
||||
verify(() => assetService.watchRemoteAsset('remote-1')).called(1);
|
||||
verify(() => assetService.getRemoteAsset('remote-1')).called(1);
|
||||
verify(() => router.popUntilRoot()).called(2);
|
||||
verify(() => router.push<Object?>(any())).called(2);
|
||||
verifyNever(() => router.replace(any()));
|
||||
verifyNever(() => router.replaceAll(any()));
|
||||
});
|
||||
|
||||
test('refreshCurrentAfterUpload watches only the uploaded remote asset stream', () async {
|
||||
final remoteAsset = _remoteAsset(id: 'remote-1', localId: 'local-1');
|
||||
final remoteTimelineService = _timelineServiceFromAssets([remoteAsset], TimelineOrigin.deepLink);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue