diff --git a/goofy-client/libs/user-settings-shared/src/lib/user-settings.repository.spec.ts b/goofy-client/libs/user-settings-shared/src/lib/user-settings.repository.spec.ts
index 19185502e900584f910edb17c36673254d0a8211..ce24b371135751e376ffb67b94962c7876e2fa3d 100644
--- a/goofy-client/libs/user-settings-shared/src/lib/user-settings.repository.spec.ts
+++ b/goofy-client/libs/user-settings-shared/src/lib/user-settings.repository.spec.ts
@@ -1,48 +1,78 @@
-import { ApiRootLinkRel, ApiRootResource } from '@goofy-client/api-root-shared';
 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 { createApiRootResource } from 'libs/api-root-shared/test/api-root';
-import { UserProfileRepository } from "libs/user-profile-shared/src/lib/user-profile.repository";
+import { cold, hot } from 'jest-marbles';
 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';
 
-const resourceFactory = mock(ResourceFactory);
-const resourceWrapper = { get: jest.fn() };
-const apiRoot: ApiRootResource = createApiRootResource([ApiRootLinkRel.SEARCH_USER_PROFILES]);
-
-beforeEach(() => {
-	// userProfileRepository = new UserProfileRepository(useFromMock(resourceFactory));
-})
-
-describe('get user settings', () => {
-	const userProfileRepository: UserProfileRepository = new UserProfileRepository(useFromMock(resourceFactory));
-	const userProfile: UserProfileResource = createUserProfileResource();
-	const repository: UserSettingsRepository = new UserSettingsRepository(useFromMock(resourceFactory));
+describe('UserSettingsRepository', () => {
+	let repository: UserSettingsRepository;
+	let resourceFactory = mock(ResourceFactory);
+	let resourceWrapper = { get: jest.fn(), patch: jest.fn() };
 
 	beforeEach(() => {
+		repository = new UserSettingsRepository(useFromMock(resourceFactory));
+
 		resourceFactory.from.mockReturnValue(resourceWrapper);
 	})
 
-	it('should call resource factory', () => {
-		repository.getUserSettings(userProfile);
+	describe('get user settings', () => {
+		const userProfileResource: UserProfileResource = createUserProfileResource();
+		const responseResource: UserProfileResource = createUserProfileResource();
 
-		expect(resourceFactory.from).toHaveBeenCalledWith(userProfile);
-	})
+		beforeEach(() => {
+			resourceWrapper.get.mockReturnValue(hot('a', { a: responseResource }));
+		})
 
-	it('should get', () => {
-		// const result = userPr
-	})
+		it('should call resourceFactory with resource', () => {
+			repository.getUserSettings(userProfileResource);
+
+			expect(resourceFactory.from).toHaveBeenCalledWith(userProfileResource);
+		})
 
-	it('should return result', () => {
+		it('should call resourceWrapper with link', () => {
+			repository.getUserSettings(userProfileResource);
 
+			expect(resourceWrapper.get).toHaveBeenCalledWith(UserProfileLinkRel.SETTINGS)
+		})
+
+		it('should return result', () => {
+			let result = repository.getUserSettings(userProfileResource);
+
+			expect(result).not.toBeNull();
+			expect(result).toBeObservable(cold('a', { a: responseResource }));
+		})
 	})
 
-})
+	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('should call resourceFactory with resource', () => {
+			repository.setUserSettings(userSettingsResource, userSettings);
+
+			expect(resourceFactory.from).toHaveBeenCalledWith(userSettingsResource);
+		})
+
+		it('should call resourceWrapper with link', () => {
+			repository.setUserSettings(userSettingsResource, userSettings);
 
-describe('set user settings', () => {
+			expect(resourceWrapper.patch).toHaveBeenCalledWith(UserSettingsLinkRel.EDIT, userSettings)
+		})
 
-	it('for current user', () => {
+		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