1
0
mirror of https://github.com/immich-app/immich.git synced 2025-07-06 06:07:29 +02:00

refactor: user entity (#16655)

* refactor: user entity

* fix: add users to album & user profile url

* chore: rebase fixes

* generate files

* fix(mobile): timeline not reset on login

* fix: test stub

* refactor: rename user model (#16813)

* refactor: rename user model

* simplify import

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>

* chore: generate files

* fix: use getAllAccessible instead of getAll

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
This commit is contained in:
shenlong
2025-03-12 19:26:56 +05:30
committed by GitHub
parent a75718ce99
commit d1c8fe5303
82 changed files with 1039 additions and 947 deletions

View File

@ -1,16 +1,16 @@
import 'package:flutter/widgets.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:immich_mobile/domain/interfaces/user.interface.dart';
import 'package:immich_mobile/domain/models/store.model.dart';
import 'package:immich_mobile/domain/models/user.model.dart';
import 'package:immich_mobile/domain/services/log.service.dart';
import 'package:immich_mobile/domain/services/store.service.dart';
import 'package:immich_mobile/entities/asset.entity.dart';
import 'package:immich_mobile/entities/etag.entity.dart';
import 'package:immich_mobile/entities/store.entity.dart';
import 'package:immich_mobile/entities/user.entity.dart';
import 'package:immich_mobile/infrastructure/repositories/log.repository.dart';
import 'package:immich_mobile/infrastructure/repositories/store.repository.dart';
import 'package:immich_mobile/interfaces/asset.interface.dart';
import 'package:immich_mobile/interfaces/user.interface.dart';
import 'package:immich_mobile/services/sync.service.dart';
import 'package:mocktail/mocktail.dart';
@ -56,8 +56,10 @@ void main() {
final MockAlbumMediaRepository albumMediaRepository =
MockAlbumMediaRepository();
final MockAlbumApiRepository albumApiRepository = MockAlbumApiRepository();
final owner = User(
id: "1",
final MockPartnerRepository partnerRepository = MockPartnerRepository();
final owner = UserDto(
uid: "1",
updatedAt: DateTime.now(),
email: "a@b.c",
name: "first last",
@ -92,21 +94,22 @@ void main() {
albumRepository,
assetRepository,
exifInfoRepository,
partnerRepository,
userRepository,
StoreService.I,
eTagRepository,
);
when(() => eTagRepository.get(owner.isarId))
.thenAnswer((_) async => ETag(id: owner.id, time: DateTime.now()));
when(() => eTagRepository.get(owner.id))
.thenAnswer((_) async => ETag(id: owner.uid, time: DateTime.now()));
when(() => eTagRepository.deleteByIds(["1"])).thenAnswer((_) async {});
when(() => eTagRepository.upsertAll(any())).thenAnswer((_) async {});
when(() => userRepository.me()).thenAnswer((_) async => owner);
when(() => userRepository.getAll(sortBy: UserSort.id))
.thenAnswer((_) async => [owner]);
when(() => userRepository.getAllAccessible())
when(() => partnerRepository.getSharedWith()).thenAnswer((_) async => []);
when(() => userRepository.getAll(sortBy: SortUserBy.id))
.thenAnswer((_) async => [owner]);
when(() => userRepository.getAll()).thenAnswer((_) async => [owner]);
when(
() => assetRepository.getAll(
ownerId: owner.isarId,
ownerId: owner.id,
sortBy: AssetSort.checksum,
),
).thenAnswer((_) async => initialAssets);
@ -180,7 +183,7 @@ void main() {
expect(c1, isTrue);
when(
() => assetRepository.getAll(
ownerId: owner.isarId,
ownerId: owner.id,
sortBy: AssetSort.checksum,
),
).thenAnswer((_) async => remoteAssets);
@ -194,7 +197,7 @@ void main() {
final currentState = [...remoteAssets];
when(
() => assetRepository.getAll(
ownerId: owner.isarId,
ownerId: owner.id,
sortBy: AssetSort.checksum,
),
).thenAnswer((_) async => currentState);
@ -252,7 +255,7 @@ void main() {
}
Future<(List<Asset>?, List<String>?)> _failDiff(
List<User> user,
List<UserDto> user,
DateTime time,
) =>
Future.value((null, null));