feat(mobile): add the number of activities to the activity button label

This commit is contained in:
idubnori
2025-12-18 01:31:29 +09:00
parent 3e8635431e
commit d63a1bcd07
12 changed files with 50 additions and 29 deletions

View File

@@ -108,9 +108,9 @@ void main() {
expect(activities, hasLength(5));
expect(activities, contains(like));
// Never bump activity count for new likes
verifyNever(() => activityStatisticsMock.addActivity());
verifyNever(() => albumActivityStatisticsMock.addActivity());
// Verify activity count is bumped for new likes
verify(() => activityStatisticsMock.addActivity()).called(1);
verify(() => albumActivityStatisticsMock.addActivity()).called(1);
final albumActivities = container.read(albumProvider).requireValue;
expect(albumActivities, hasLength(5));
@@ -155,8 +155,9 @@ void main() {
expect(activities, hasLength(3));
expect(activities, isNot(anyElement(predicate((Activity a) => a.id == '3'))));
verifyNever(() => activityStatisticsMock.removeActivity());
verifyNever(() => albumActivityStatisticsMock.removeActivity());
// Verify activity count is decreased for removed likes
verify(() => activityStatisticsMock.removeActivity()).called(1);
verify(() => albumActivityStatisticsMock.removeActivity()).called(1);
});
test('Remove Like failed', () async {
@@ -204,8 +205,9 @@ void main() {
expect(albumActivities, isNot(anyElement(predicate((Activity a) => a.id == '3'))));
verify(() => activityMock.removeActivity('3'));
verifyNever(() => activityStatisticsMock.removeActivity());
verifyNever(() => albumActivityStatisticsMock.removeActivity());
// Verify activity count is decreased when removing from asset-scoped provider
verify(() => activityStatisticsMock.removeActivity()).called(1);
verify(() => albumActivityStatisticsMock.removeActivity()).called(1);
});
});

View File

@@ -22,7 +22,7 @@ void main() {
test('Returns the proper count family', () async {
when(
() => activityMock.getStatistics('test-album', assetId: 'test-asset'),
).thenAnswer((_) async => const ActivityStats(comments: 5));
).thenAnswer((_) async => const ActivityStats(comments: 5, likes: 0));
// Read here to make the getStatistics call
container.read(activityStatisticsProvider('test-album', 'test-asset'));
@@ -38,7 +38,9 @@ void main() {
});
test('Adds activity', () async {
when(() => activityMock.getStatistics('test-album')).thenAnswer((_) async => const ActivityStats(comments: 10));
when(
() => activityMock.getStatistics('test-album'),
).thenAnswer((_) async => const ActivityStats(comments: 10, likes: 0));
final provider = activityStatisticsProvider('test-album');
container.listen(provider, listener.call, fireImmediately: true);
@@ -55,7 +57,7 @@ void main() {
test('Removes activity', () async {
when(
() => activityMock.getStatistics('new-album', assetId: 'test-asset'),
).thenAnswer((_) async => const ActivityStats(comments: 10));
).thenAnswer((_) async => const ActivityStats(comments: 10, likes: 0));
final provider = activityStatisticsProvider('new-album', 'test-asset');
container.listen(provider, listener.call, fireImmediately: true);