Skip to content

Commit ebcbd7b

Browse files
authored
feat: productivity report only for seen users (#9204)
1 parent bd6a90f commit ebcbd7b

File tree

3 files changed

+8
-3
lines changed

3 files changed

+8
-3
lines changed

src/lib/features/user-subscriptions/user-subscriptions-read-model.test.ts

+5-3
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,13 @@ afterAll(async () => {
3232
});
3333

3434
describe('getSubscribedUsers', () => {
35-
test('returns users that did not unsubscribe', async () => {
35+
test('returns seen users that did not unsubscribe', async () => {
3636
const user1 = await userStore.insert({
3737
3838
name: 'User One',
3939
});
40+
// user seen
41+
await userStore.successfullyLogin(user1);
4042
const user2 = await userStore.insert({
4143
4244
name: 'User Two',
@@ -54,11 +56,10 @@ describe('getSubscribedUsers', () => {
5456
const subscribers =
5557
await userSubscriptionsReadModel.getSubscribedUsers(subscription);
5658

57-
expect(subscribers).toHaveLength(2);
59+
expect(subscribers).toHaveLength(1);
5860
expect(subscribers).toEqual(
5961
expect.arrayContaining([
6062
{ email: '[email protected]', name: 'User One' },
61-
{ email: '[email protected]', name: 'User Three' },
6263
]),
6364
);
6465
});
@@ -68,6 +69,7 @@ describe('getSubscribedUsers', () => {
6869
6970
name: 'User Seven',
7071
});
72+
await userStore.successfullyLogin(user);
7173

7274
let subscribers =
7375
await userSubscriptionsReadModel.getSubscribedUsers(subscription);

src/lib/features/user-subscriptions/user-subscriptions-read-model.ts

+1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ export class UserSubscriptionsReadModel implements IUserSubscriptionsReadModel {
3939
.whereNotIn('id', unsubscribedUserIdsQuery)
4040
.andWhere('is_service', false)
4141
.andWhere('deleted_at', null)
42+
.andWhereNot('seen_at', null)
4243
.andWhereNot('email', null);
4344

4445
return users.map(mapRowToSubscriber);

src/lib/features/user-subscriptions/user-subscriptions-service.e2e.test.ts

+2
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ test('Subscribe and unsubscribe', async () => {
4646
4747
name: 'Sample Name',
4848
});
49+
await userStore.successfullyLogin(user);
4950

5051
const subscribers = await userSubscriptionsReadModel.getSubscribedUsers(
5152
'productivity-report',
@@ -79,6 +80,7 @@ test('Event log for subscription actions', async () => {
7980
8081
name: 'Sample Name',
8182
});
83+
await userStore.successfullyLogin(user);
8284

8385
await userSubscriptionService.unsubscribe(
8486
user.id,

0 commit comments

Comments
 (0)