Skip to content
Snippets Groups Projects
Commit 3706385c authored by OZGCloud's avatar OZGCloud
Browse files

Merge branch 'OZG-2886_Toogle_Benachrichtigung_bei_Antragseingang' of...

Merge branch 'OZG-2886_Toogle_Benachrichtigung_bei_Antragseingang' of git.ozg-sh.de:mgm/goofy into OZG-2886_Toogle_Benachrichtigung_bei_Antragseingang
parents 6e1a6aa5 2aae6491
No related branches found
No related tags found
No related merge requests found
import { ApiRootLinkRel, ApiRootResource } from '@goofy-client/api-root-shared';
import { mock, useFromMock } from '@goofy-client/test-utils'; import { mock, useFromMock } from '@goofy-client/test-utils';
import { UserProfileResource } from '@goofy-client/user-profile-shared'; import { UserProfileLinkRel, UserProfileResource } from '@goofy-client/user-profile-shared';
import { ResourceFactory } from '@ngxp/rest'; import { ResourceFactory } from '@ngxp/rest';
import { createApiRootResource } from 'libs/api-root-shared/test/api-root'; import { cold, hot } from 'jest-marbles';
import { UserProfileRepository } from "libs/user-profile-shared/src/lib/user-profile.repository";
import { createUserProfileResource } from 'libs/user-profile-shared/test/user-profile'; import { createUserProfileResource } from 'libs/user-profile-shared/test/user-profile';
import { createUserSettings, createUserSettingsResource } from 'libs/user-settings-shared/test/user-settings';
import { UserSettingsLinkRel } from './user-settings.linkrel';
import { UserSettings, UserSettingsResource } from './user-settings.model';
import { UserSettingsRepository } from './user-settings.repository'; import { UserSettingsRepository } from './user-settings.repository';
const resourceFactory = mock(ResourceFactory); describe('UserSettingsRepository', () => {
const resourceWrapper = { get: jest.fn() }; let repository: UserSettingsRepository;
const apiRoot: ApiRootResource = createApiRootResource([ApiRootLinkRel.SEARCH_USER_PROFILES]); let resourceFactory = mock(ResourceFactory);
let resourceWrapper = { get: jest.fn(), patch: jest.fn() };
beforeEach(() => { beforeEach(() => {
// userProfileRepository = new UserProfileRepository(useFromMock(resourceFactory)); repository = new UserSettingsRepository(useFromMock(resourceFactory));
resourceFactory.from.mockReturnValue(resourceWrapper);
}) })
describe('get user settings', () => { describe('get user settings', () => {
const userProfileRepository: UserProfileRepository = new UserProfileRepository(useFromMock(resourceFactory)); const userProfileResource: UserProfileResource = createUserProfileResource();
const userProfile: UserProfileResource = createUserProfileResource(); const responseResource: UserProfileResource = createUserProfileResource();
const repository: UserSettingsRepository = new UserSettingsRepository(useFromMock(resourceFactory));
beforeEach(() => { beforeEach(() => {
resourceFactory.from.mockReturnValue(resourceWrapper); resourceWrapper.get.mockReturnValue(hot('a', { a: responseResource }));
}) })
it('should call resource factory', () => { it('should call resourceFactory with resource', () => {
repository.getUserSettings(userProfile); repository.getUserSettings(userProfileResource);
expect(resourceFactory.from).toHaveBeenCalledWith(userProfile); expect(resourceFactory.from).toHaveBeenCalledWith(userProfileResource);
}) })
it('should get', () => { it('should call resourceWrapper with link', () => {
// const result = userPr repository.getUserSettings(userProfileResource);
expect(resourceWrapper.get).toHaveBeenCalledWith(UserProfileLinkRel.SETTINGS)
}) })
it('should return result', () => { it('should return result', () => {
let result = repository.getUserSettings(userProfileResource);
expect(result).not.toBeNull();
expect(result).toBeObservable(cold('a', { a: responseResource }));
}) })
}) })
describe('set user settings', () => { describe('set user settings', () => {
const userSettingsResource: UserSettingsResource = createUserSettingsResource();
const responseResource: UserProfileResource = createUserProfileResource();
const userSettings: UserSettings = createUserSettings();
beforeEach(() => {
resourceWrapper.patch.mockReturnValue(hot('a', { a: responseResource }));
})
it('for current user', () => { it('should call resourceFactory with resource', () => {
repository.setUserSettings(userSettingsResource, userSettings);
expect(resourceFactory.from).toHaveBeenCalledWith(userSettingsResource);
})
it('should call resourceWrapper with link', () => {
repository.setUserSettings(userSettingsResource, userSettings);
expect(resourceWrapper.patch).toHaveBeenCalledWith(UserSettingsLinkRel.EDIT, userSettings)
})
it('should return result', () => {
let result = repository.setUserSettings(userSettingsResource, userSettings);
expect(result).not.toBeNull();
expect(result).toBeObservable(cold('a', { a: responseResource }));
})
}) })
}) })
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment