fix: allow expired offline subscriptions to receive dashboard emails (#1041)
This commit is contained in:
parent
f975dd9697
commit
4fe8e9a79f
2 changed files with 0 additions and 52 deletions
|
@ -89,42 +89,4 @@ describe('CreateOfflineSubscriptionToken', () => {
|
|||
expect(domainEventFactory.createEmailRequestedEvent).not.toHaveBeenCalled()
|
||||
expect(domainEventPublisher.publish).not.toHaveBeenCalled()
|
||||
})
|
||||
|
||||
it('should not create an offline subscription token if email has a cancelled subscription', async () => {
|
||||
offlineUserSubscriptionRepository.findOneByEmail = jest
|
||||
.fn()
|
||||
.mockReturnValue({ cancelled: true, endsAt: 100 } as jest.Mocked<OfflineUserSubscription>)
|
||||
|
||||
expect(
|
||||
await createUseCase().execute({
|
||||
userEmail: 'test@test.com',
|
||||
}),
|
||||
).toEqual({
|
||||
success: false,
|
||||
error: 'subscription-canceled',
|
||||
})
|
||||
|
||||
expect(offlineSubscriptionTokenRepository.save).not.toHaveBeenCalled()
|
||||
expect(domainEventFactory.createEmailRequestedEvent).not.toHaveBeenCalled()
|
||||
expect(domainEventPublisher.publish).not.toHaveBeenCalled()
|
||||
})
|
||||
|
||||
it('should not create an offline subscription token if email has an outdated subscription', async () => {
|
||||
offlineUserSubscriptionRepository.findOneByEmail = jest
|
||||
.fn()
|
||||
.mockReturnValue({ cancelled: false, endsAt: 2 } as jest.Mocked<OfflineUserSubscription>)
|
||||
|
||||
expect(
|
||||
await createUseCase().execute({
|
||||
userEmail: 'test@test.com',
|
||||
}),
|
||||
).toEqual({
|
||||
success: false,
|
||||
error: 'subscription-expired',
|
||||
})
|
||||
|
||||
expect(offlineSubscriptionTokenRepository.save).not.toHaveBeenCalled()
|
||||
expect(domainEventFactory.createEmailRequestedEvent).not.toHaveBeenCalled()
|
||||
expect(domainEventPublisher.publish).not.toHaveBeenCalled()
|
||||
})
|
||||
})
|
||||
|
|
|
@ -37,20 +37,6 @@ export class CreateOfflineSubscriptionToken implements UseCaseInterface {
|
|||
}
|
||||
}
|
||||
|
||||
if (existingSubscription.cancelled) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'subscription-canceled',
|
||||
}
|
||||
}
|
||||
|
||||
if (existingSubscription.endsAt < this.timer.getTimestampInMicroseconds()) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'subscription-expired',
|
||||
}
|
||||
}
|
||||
|
||||
const token = await this.cryptoNode.generateRandomKey(128)
|
||||
|
||||
const offlineSubscriptionToken = {
|
||||
|
|
Loading…
Reference in a new issue