mirror of
https://github.com/Ocelot-Social-Community/Ocelot-Social.git
synced 2025-12-13 07:46:06 +00:00
* lint @typescript-eslint/recommended * lint @typescript-eslint/recommended-requiring-type-checking fix type not detected locally due to wierd uuid typings missing save error not reported locally --------- Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
46 lines
1.4 KiB
TypeScript
46 lines
1.4 KiB
TypeScript
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
import { isUserOnline } from './isUserOnline'
|
|
|
|
let user
|
|
|
|
describe('isUserOnline', () => {
|
|
beforeEach(() => {
|
|
user = {
|
|
lastActiveAt: null,
|
|
awaySince: null,
|
|
lastOnlineStatus: null,
|
|
}
|
|
})
|
|
describe('user has lastOnlineStatus `online`', () => {
|
|
it('returns true if he was active within the last 90 seconds', () => {
|
|
user.lastOnlineStatus = 'online'
|
|
user.lastActiveAt = new Date()
|
|
expect(isUserOnline(user)).toBe(true)
|
|
})
|
|
it('returns false if he was not active within the last 90 seconds', () => {
|
|
user.lastOnlineStatus = 'online'
|
|
user.lastActiveAt = new Date().getTime() - 90001
|
|
expect(isUserOnline(user)).toBe(false)
|
|
})
|
|
})
|
|
|
|
describe('user has lastOnlineStatus `away`', () => {
|
|
it('returns true if he went away less then 180 seconds ago', () => {
|
|
user.lastOnlineStatus = 'away'
|
|
user.awaySince = new Date()
|
|
expect(isUserOnline(user)).toBe(true)
|
|
})
|
|
it('returns false if he went away more then 180 seconds ago', () => {
|
|
user.lastOnlineStatus = 'away'
|
|
user.awaySince = new Date().getTime() - 180001
|
|
expect(isUserOnline(user)).toBe(false)
|
|
})
|
|
})
|
|
|
|
describe('user is freshly created and has never logged in', () => {
|
|
it('returns false', () => {
|
|
expect(isUserOnline(user)).toBe(false)
|
|
})
|
|
})
|
|
})
|