Update tests

This commit is contained in:
Ming Ming 2021-12-07 18:22:34 +08:00
parent 4f1a359440
commit fc779ee2e2

View file

@ -19,17 +19,17 @@ void main() {
group("shared album", () { group("shared album", () {
group("owned", () { group("owned", () {
_testQuerySharedAlbumMissingShare("missing share"); _testQuerySharedAlbumMissingShare("missing share");
_testQuerySharedAlbumMissingManagedOtherShare( _testQuerySharedAlbumMissingManagedShareOtherAdded(
"missing managed other share"); "missing managed share added by others");
_testQuerySharedAlbumMissingUnmanagedOtherShare( _testQuerySharedAlbumMissingUnmanagedShareOtherAdded(
"missing unmanaged other share"); "missing unmanaged share added by others");
_testQuerySharedAlbumMissingJsonShare("missing json share"); _testQuerySharedAlbumMissingJsonShare("missing json share");
_testQuerySharedAlbumExtraShare("extra share"); _testQuerySharedAlbumExtraShare("extra share");
_testQuerySharedAlbumExtraManagedOtherShare( _testQuerySharedAlbumExtraShareOtherAdded(
"extra managed other share"); "extra share, file added by others");
_testQuerySharedAlbumExtraUnmanagedOtherShare( _testQuerySharedAlbumExtraUnmanagedShare(
"extra unmanaged other share"); "extra share for file managed by others");
_testQuerySharedAlbumExtraJsonShare("extra json share"); _testQuerySharedAlbumExtraJsonShare("extra json share");
}); });
group("not owned", () { group("not owned", () {
@ -184,8 +184,8 @@ void _testQuerySharedAlbumMissingShare(String description) {
/// Query a shared album (admin -> user1, user2), with file added by user1, /// Query a shared album (admin -> user1, user2), with file added by user1,
/// managed by admin, not shared (admin -> user2) /// managed by admin, not shared (admin -> user2)
/// ///
/// Expect: emit empty list /// Expect: emit the file with missing share (admin -> user2)
void _testQuerySharedAlbumMissingManagedOtherShare(String description) { void _testQuerySharedAlbumMissingManagedShareOtherAdded(String description) {
final account = util.buildAccount(); final account = util.buildAccount();
final files = (util.FilesBuilder(initialFileId: 1) final files = (util.FilesBuilder(initialFileId: 1)
..addJpeg("user1/test1.jpg", ownerId: "user1")) ..addJpeg("user1/test1.jpg", ownerId: "user1"))
@ -236,7 +236,7 @@ void _testQuerySharedAlbumMissingManagedOtherShare(String description) {
/// managed by user1, not shared (user1 -> user2) /// managed by user1, not shared (user1 -> user2)
/// ///
/// Expect: emit empty list /// Expect: emit empty list
void _testQuerySharedAlbumMissingUnmanagedOtherShare(String description) { void _testQuerySharedAlbumMissingUnmanagedShareOtherAdded(String description) {
final account = util.buildAccount(); final account = util.buildAccount();
final files = (util.FilesBuilder(initialFileId: 1) final files = (util.FilesBuilder(initialFileId: 1)
..addJpeg("user1/test1.jpg", ownerId: "user1")) ..addJpeg("user1/test1.jpg", ownerId: "user1"))
@ -360,15 +360,19 @@ void _testQuerySharedAlbumExtraShare(String description) {
); );
} }
/// Query a shared album (admin -> user1), with file added by user1, /// Query a shared album (admin -> user1), with file added by user1, shared
/// managed by admin, shared (admin -> user1, user2) /// (admin -> user1, user2)
/// ///
/// Expect: emit the file with extra share (admin -> user2) /// Expect: emit the file with extra share (admin -> user2)
void _testQuerySharedAlbumExtraManagedOtherShare(String description) { void _testQuerySharedAlbumExtraShareOtherAdded(String description) {
final account = util.buildAccount(); final account = util.buildAccount();
final user1Account = util.buildAccount(username: "user1");
final files = (util.FilesBuilder(initialFileId: 1) final files = (util.FilesBuilder(initialFileId: 1)
..addJpeg("user1/test1.jpg", ownerId: "user1")) ..addJpeg("admin/test1.jpg", ownerId: "user1"))
.build(); .build();
final user1Files = [
files[0].copyWith(path: "remote.php/dav/files/user1/dir/test1.jpg"),
];
final album = (util.AlbumBuilder() final album = (util.AlbumBuilder()
// added before album shared, thus managed by album owner // added before album shared, thus managed by album owner
..addFileItem(files[0], addedBy: "user1") ..addFileItem(files[0], addedBy: "user1")
@ -393,6 +397,7 @@ void _testQuerySharedAlbumExtraManagedOtherShare(String description) {
]), ]),
appDb: await MockAppDb().applyFuture((obj) async { appDb: await MockAppDb().applyFuture((obj) async {
await util.fillAppDb(obj, account, files); await util.fillAppDb(obj, account, files);
await util.fillAppDb(obj, user1Account, user1Files);
}), }),
); );
}, },
@ -411,20 +416,25 @@ void _testQuerySharedAlbumExtraManagedOtherShare(String description) {
); );
} }
/// Query a shared album (admin -> user1), with file added by user1, managed by /// Query a shared album (admin -> user1, user2), with file managed by user1,
/// user1, shared (user1 -> admin, user2) /// shared by user1 (user1 -> admin) and admin (admin -> user2)
/// ///
/// Expect: emit empty list /// Expect: emit empty list
void _testQuerySharedAlbumExtraUnmanagedOtherShare(String description) { void _testQuerySharedAlbumExtraUnmanagedShare(String description) {
final account = util.buildAccount(); final account = util.buildAccount();
final user1Account = util.buildAccount(username: "user1");
final files = (util.FilesBuilder(initialFileId: 1) final files = (util.FilesBuilder(initialFileId: 1)
..addJpeg("user1/test1.jpg", ownerId: "user1")) ..addJpeg("admin/test1.jpg", ownerId: "user1"))
.build(); .build();
final user1Files = [
files[0].copyWith(path: "remote.php/dav/files/user1/dir/test1.jpg"),
];
final album = (util.AlbumBuilder() final album = (util.AlbumBuilder()
// added after album shared, thus managed by adder // added after album shared, thus managed by adder
..addFileItem(files[0], ..addFileItem(files[0],
addedBy: "user1", addedAt: DateTime.utc(2021, 1, 2, 3, 4, 5)) addedBy: "user1", addedAt: DateTime.utc(2021, 1, 2, 3, 4, 5))
..addShare("user1")) ..addShare("user1")
..addShare("user2"))
.build(); .build();
final albumFile = album.albumFile!; final albumFile = album.albumFile!;
late final DiContainer c; late final DiContainer c;
@ -435,10 +445,13 @@ void _testQuerySharedAlbumExtraUnmanagedOtherShare(String description) {
c = DiContainer( c = DiContainer(
shareRepo: MockShareMemoryRepo([ shareRepo: MockShareMemoryRepo([
util.buildShare(id: "0", file: albumFile, shareWith: "user1"), util.buildShare(id: "0", file: albumFile, shareWith: "user1"),
util.buildShare(id: "1", file: albumFile, shareWith: "user2"),
util.buildShare( util.buildShare(
id: "1", file: files[0], uidOwner: "user1", shareWith: "admin"), id: "2",
util.buildShare( file: user1Files[0],
id: "2", file: files[0], uidOwner: "user1", shareWith: "user2"), uidOwner: "user1",
shareWith: "admin"),
util.buildShare(id: "3", file: files[0], shareWith: "user2"),
]), ]),
shareeRepo: MockShareeMemoryRepo([ shareeRepo: MockShareeMemoryRepo([
util.buildSharee(shareWith: "user1".toCi()), util.buildSharee(shareWith: "user1".toCi()),
@ -446,6 +459,7 @@ void _testQuerySharedAlbumExtraUnmanagedOtherShare(String description) {
]), ]),
appDb: await MockAppDb().applyFuture((obj) async { appDb: await MockAppDb().applyFuture((obj) async {
await util.fillAppDb(obj, account, files); await util.fillAppDb(obj, account, files);
await util.fillAppDb(obj, user1Account, user1Files);
}), }),
); );
}, },