fix(mobile): mobile album sort not persisting (#5584)

* chore(deps): use mocktail instead of mockito

* refactor: move stubs to fixtures/

* fix: fetch assetsortmode based on storeindex

* test: validate AlbumSortByOptions provider

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
This commit is contained in:
shenlong
2023-12-10 02:31:23 +00:00
committed by GitHub
parent 188cdf9367
commit 8847ebeef2
11 changed files with 372 additions and 152 deletions
+54
View File
@@ -0,0 +1,54 @@
import 'package:immich_mobile/shared/models/album.dart';
import 'asset.stub.dart';
import 'user.stub.dart';
final class AlbumStub {
const AlbumStub._();
static final emptyAlbum = Album(
name: "empty-album",
localId: "empty-album-local",
remoteId: "empty-album-remote",
createdAt: DateTime(2000),
modifiedAt: DateTime(2023),
shared: false,
activityEnabled: false,
startDate: DateTime(2020),
);
static final sharedWithUser = Album(
name: "empty-album-shared-with-user",
localId: "empty-album-shared-with-user-local",
remoteId: "empty-album-shared-with-user-remote",
createdAt: DateTime(2023),
modifiedAt: DateTime(2023),
shared: true,
activityEnabled: false,
endDate: DateTime(2020),
)..sharedUsers.addAll([UserStub.admin]);
static final oneAsset = Album(
name: "album-with-single-asset",
localId: "album-with-single-asset-local",
remoteId: "album-with-single-asset-remote",
createdAt: DateTime(2022),
modifiedAt: DateTime(2023),
shared: false,
activityEnabled: false,
startDate: DateTime(2020),
endDate: DateTime(2023),
)..assets.addAll([AssetStub.image1]);
static final twoAsset = Album(
name: "album-with-two-assets",
localId: "album-with-two-assets-local",
remoteId: "album-with-two-assets-remote",
createdAt: DateTime(2001),
modifiedAt: DateTime(2010),
shared: false,
activityEnabled: false,
startDate: DateTime(2019),
endDate: DateTime(2020),
)..assets.addAll([AssetStub.image1, AssetStub.image2]);
}
+37
View File
@@ -0,0 +1,37 @@
import 'package:immich_mobile/shared/models/asset.dart';
final class AssetStub {
const AssetStub._();
static final image1 = Asset(
checksum: "image1-checksum",
localId: "image1",
ownerId: 1,
fileCreatedAt: DateTime.now(),
fileModifiedAt: DateTime.now(),
updatedAt: DateTime.now(),
durationInSeconds: 0,
type: AssetType.image,
fileName: "image1.jpg",
isFavorite: true,
isArchived: false,
isTrashed: false,
stackCount: 0,
);
static final image2 = Asset(
checksum: "image2-checksum",
localId: "image2",
ownerId: 1,
fileCreatedAt: DateTime(2000),
fileModifiedAt: DateTime(2010),
updatedAt: DateTime.now(),
durationInSeconds: 60,
type: AssetType.video,
fileName: "image2.jpg",
isFavorite: false,
isArchived: false,
isTrashed: false,
stackCount: 0,
);
}
+21
View File
@@ -0,0 +1,21 @@
import 'package:immich_mobile/shared/models/user.dart';
final class UserStub {
const UserStub._();
static final admin = User(
id: "admin",
updatedAt: DateTime(2021),
email: "admin@test.com",
name: "admin",
isAdmin: true,
);
static final user1 = User(
id: "user1",
updatedAt: DateTime(2022),
email: "user1@test.com",
name: "user1",
isAdmin: false,
);
}