1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-11-01 19:07:38 +01:00
unleash.unleash/src/test/e2e/stores/user-splash-store.e2e.test.ts
olav ab75d4085e
refactor: add schemas to user admin controller (#1692)
* refactor: add schemas to user admin controller

* refactor: remove unused SessionService

* refactor: fix search query type confusion

* refactor: add schemas to user controller (#1693)

* refactor: add schemas to user controller

* refactor: fix getAllUserSplashes method name

* refactor: name and email should not be required on create

* refactor: only some user fields may be updated

* refactor: should not require any fields on user update  (#1730)

* refactor: send 400 instead of 500 on missing username and email

* refactor: should not require any fields for user update

* refactor: note that earlier versions required name or email

* refactor: merge roleDescriptionSchema and roleSchema
2022-06-22 14:55:43 +02:00

85 lines
2.2 KiB
TypeScript

import { IUserSplashStore } from 'lib/types/stores/user-splash-store';
import { IUserStore } from 'lib/types/stores/user-store';
import dbInit from '../helpers/database-init';
import getLogger from '../../fixtures/no-logger';
let stores;
let db;
let userSplashStore: IUserSplashStore;
let userStore: IUserStore;
let currentUser;
beforeAll(async () => {
db = await dbInit('user_splash_store', getLogger);
stores = db.stores;
userSplashStore = stores.userSplashStore;
userStore = stores.userStore;
currentUser = await userStore.upsert({ email: 'me.feedback@mail.com' });
});
afterAll(async () => {
await db.destroy();
});
afterEach(async () => {
await userSplashStore.deleteAll();
});
test('should create userSplash', async () => {
await userSplashStore.updateSplash({
splashId: 'some-id',
userId: currentUser.id,
seen: false,
});
const userSplashs = await userSplashStore.getAllUserSplashes(
currentUser.id,
);
expect(userSplashs).toHaveLength(1);
expect(userSplashs[0].splashId).toBe('some-id');
});
test('should get userSplash', async () => {
await userSplashStore.updateSplash({
splashId: 'some-id',
userId: currentUser.id,
seen: false,
});
const userSplash = await userSplashStore.getSplash(
currentUser.id,
'some-id',
);
expect(userSplash.splashId).toBe('some-id');
});
test('should exists', async () => {
await userSplashStore.updateSplash({
splashId: 'some-id-3',
userId: currentUser.id,
seen: false,
});
const exists = await userSplashStore.exists({
userId: currentUser.id,
splashId: 'some-id-3',
});
expect(exists).toBe(true);
});
test('should not exists', async () => {
const exists = await userSplashStore.exists({
userId: currentUser.id,
splashId: 'some-id-not-here',
});
expect(exists).toBe(false);
});
test('should get all userSplashs', async () => {
await userSplashStore.updateSplash({
splashId: 'some-id-2',
userId: currentUser.id,
seen: false,
});
const userSplashs = await userSplashStore.getAll();
expect(userSplashs).toHaveLength(1);
expect(userSplashs[0].splashId).toBe('some-id-2');
});