From c86c78244076593f7cae5a52dfd93a90091d6b0a Mon Sep 17 00:00:00 2001 From: jitendraashutec Date: Tue, 1 Sep 2020 14:17:27 +0530 Subject: [PATCH 1/5] BW-868 #comment write user selector --- .../store/selectors/user.selector.spec.ts | 23 +++++++++++++++++++ .../lib/core/store/selectors/user.selector.ts | 3 +-- 2 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 projects/shared-library/src/lib/core/store/selectors/user.selector.spec.ts diff --git a/projects/shared-library/src/lib/core/store/selectors/user.selector.spec.ts b/projects/shared-library/src/lib/core/store/selectors/user.selector.spec.ts new file mode 100644 index 000000000..051b90219 --- /dev/null +++ b/projects/shared-library/src/lib/core/store/selectors/user.selector.spec.ts @@ -0,0 +1,23 @@ + +import { testData } from 'test/data'; +import { authorizationHeader, getUser } from './user.selector'; +describe('User:Selector', () => { + const user = testData.userList[0]; + + it('Get User selector return user object', () => { + const state = { core: { user } }; + expect(getUser(state)).toBe(user); + }); + + it('Get idToken token from user', () => { + const state = { core: { user } }; + const token = `Bearer ${user.idToken}`; + expect(authorizationHeader(state)).toBe(token); + }); + + it('Get null if user is not find', () => { + const state = { core: { user: '' } }; + expect(authorizationHeader(state)).toBe(null); + }); +}); + diff --git a/projects/shared-library/src/lib/core/store/selectors/user.selector.ts b/projects/shared-library/src/lib/core/store/selectors/user.selector.ts index 8b9571a12..4575cc6e1 100644 --- a/projects/shared-library/src/lib/core/store/selectors/user.selector.ts +++ b/projects/shared-library/src/lib/core/store/selectors/user.selector.ts @@ -1,8 +1,7 @@ -import { ActionReducerMap, createSelector, createFeatureSelector } from '@ngrx/store'; +import { createSelector } from '@ngrx/store'; import * as fromFeature from '../reducers'; - export const getUser = createSelector(fromFeature.coreState, (state: fromFeature.CoreState) => state.user); export const authorizationHeader = createSelector(getUser, fromFeature.getAuthorizationHeader); From f5c86b94070e263c6d6cb47d020248f6c725bd3f Mon Sep 17 00:00:00 2001 From: jitendraashutec Date: Tue, 1 Sep 2020 14:42:11 +0530 Subject: [PATCH 2/5] BW-868 #comment topics selector --- .../store/selectors/topics.selector.spec.ts | 12 +++++ test/data/index.ts | 5 +- test/data/topics.ts | 52 +++++++++++++++++++ 3 files changed, 67 insertions(+), 2 deletions(-) create mode 100644 projects/shared-library/src/lib/core/store/selectors/topics.selector.spec.ts create mode 100644 test/data/topics.ts diff --git a/projects/shared-library/src/lib/core/store/selectors/topics.selector.spec.ts b/projects/shared-library/src/lib/core/store/selectors/topics.selector.spec.ts new file mode 100644 index 000000000..8d36ff3db --- /dev/null +++ b/projects/shared-library/src/lib/core/store/selectors/topics.selector.spec.ts @@ -0,0 +1,12 @@ + +import { testData } from 'test/data'; +import { getTopTopics } from './topics.selector'; +import { Topic } from 'shared-library/shared/model'; +describe('Topics:Selector', () => { + const topTopics: Topic[] = testData.topics; + + it('Get User selector return user object', () => { + const state = { core: { topTopics } }; + expect(getTopTopics(state)).toBe(topTopics); + }); +}); diff --git a/test/data/index.ts b/test/data/index.ts index 33f718123..a8d9fa0ed 100644 --- a/test/data/index.ts +++ b/test/data/index.ts @@ -31,7 +31,7 @@ import { AddressUsingLongLat } from './address-using-long-lat'; import { TopCategories } from './top-categories'; import { ImageString } from './image-string'; import { AchievementRules } from './achievement-rules'; - +import { Topics } from './topics'; export const testData = { categories: Categories, @@ -65,6 +65,7 @@ export const testData = { addressUsingLongLat: AddressUsingLongLat, topCategories: TopCategories, imageString: ImageString, - achievementRules: AchievementRules + achievementRules: AchievementRules, + topics: Topics }; diff --git a/test/data/topics.ts b/test/data/topics.ts new file mode 100644 index 000000000..4996c5ef6 --- /dev/null +++ b/test/data/topics.ts @@ -0,0 +1,52 @@ +export const Topics = [ + { + 'id': 1, + 'categoryName': 'Bit of sci-fi', + 'type': 'categories' + }, + { + 'id': 2, + 'categoryName': 'Programming', + 'type': 'categories' + }, + { + 'id': 3, + 'categoryName': 'Architecture', + 'type': 'categories' + }, + { + 'id': 4, + 'categoryName': 'Networking/Infrastructure', + 'type': 'categories' + }, + { + 'id': 5, + 'categoryName': 'Database', + 'type': 'category' + }, + { + 'id': 6, + 'categoryName': 'Dev Ops', + 'type': 'categories' + }, + { + 'id': 7, + 'categoryName': 'UX/UI', + 'type': 'categories' + }, + { + 'id': 8, + 'categoryName': 'Bit of fact', + 'type': 'categories' + }, + { + 'id': 9, + 'categoryName': 'Hardware', + 'type': 'categories' + }, + { + 'id': 'c', + 'categoryName': 'c', + 'type': 'tags' + }, +]; From 2f1c263438de7826aec3b3cae5d09738f7997bd1 Mon Sep 17 00:00:00 2001 From: jitendraashutec Date: Tue, 1 Sep 2020 14:45:19 +0530 Subject: [PATCH 3/5] BW-868 #comment unit test for tags selector --- .../src/lib/core/store/selectors/tags.selector.spec.ts | 10 ++++++++++ .../src/lib/core/store/selectors/tags.selector.ts | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 projects/shared-library/src/lib/core/store/selectors/tags.selector.spec.ts diff --git a/projects/shared-library/src/lib/core/store/selectors/tags.selector.spec.ts b/projects/shared-library/src/lib/core/store/selectors/tags.selector.spec.ts new file mode 100644 index 000000000..b088e6729 --- /dev/null +++ b/projects/shared-library/src/lib/core/store/selectors/tags.selector.spec.ts @@ -0,0 +1,10 @@ + +import { testData } from 'test/data'; +import { getTags } from './tags.selector'; +describe('Tags:Selector', () => { + const tags: string[] = testData.tagList; + it('getTags', () => { + const state = { core: { tags } }; + expect(getTags(state)).toBe(tags); + }); +}); diff --git a/projects/shared-library/src/lib/core/store/selectors/tags.selector.ts b/projects/shared-library/src/lib/core/store/selectors/tags.selector.ts index dfb726f14..acfc28942 100644 --- a/projects/shared-library/src/lib/core/store/selectors/tags.selector.ts +++ b/projects/shared-library/src/lib/core/store/selectors/tags.selector.ts @@ -1,4 +1,4 @@ -import { ActionReducerMap, createSelector, createFeatureSelector } from '@ngrx/store'; +import { createSelector } from '@ngrx/store'; import * as fromFeature from '../reducers'; From 4a9b18bc70333a955c776fcabb5bdcf703d87f70 Mon Sep 17 00:00:00 2001 From: jitendraashutec Date: Tue, 1 Sep 2020 15:13:46 +0530 Subject: [PATCH 4/5] BW-868 #comment add unit test for categories selector --- .../selectors/categories.selector.spec.ts | 18 ++++++++++++++++++ .../store/selectors/categories.selector.ts | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 projects/shared-library/src/lib/core/store/selectors/categories.selector.spec.ts diff --git a/projects/shared-library/src/lib/core/store/selectors/categories.selector.spec.ts b/projects/shared-library/src/lib/core/store/selectors/categories.selector.spec.ts new file mode 100644 index 000000000..fba276138 --- /dev/null +++ b/projects/shared-library/src/lib/core/store/selectors/categories.selector.spec.ts @@ -0,0 +1,18 @@ + +import { testData } from 'test/data'; +import { categoryDictionary, getCategories } from './categories.selector'; +describe('Categories:Selector', () => { + const categories = testData.categoryList; + const categoryDict = testData.categoryDictionary; + + it('getCategories', () => { + const state = { core: { categories } }; + expect(getCategories(state)).toBe(categories); + }); + + it('categoryDictionary', () => { + const state = { core: { categories } }; + expect(categoryDictionary(state)).toEqual(categoryDict); + }); +}); + diff --git a/projects/shared-library/src/lib/core/store/selectors/categories.selector.ts b/projects/shared-library/src/lib/core/store/selectors/categories.selector.ts index a800fee37..8b50a8841 100644 --- a/projects/shared-library/src/lib/core/store/selectors/categories.selector.ts +++ b/projects/shared-library/src/lib/core/store/selectors/categories.selector.ts @@ -1,4 +1,4 @@ -import { ActionReducerMap, createSelector, createFeatureSelector } from '@ngrx/store'; +import { createSelector } from '@ngrx/store'; import * as fromFeature from '../reducers'; From 9b482f32bf4c9b0e8a005fcbb3b79f1976b6bde6 Mon Sep 17 00:00:00 2001 From: jitendraashutec Date: Tue, 1 Sep 2020 15:18:12 +0530 Subject: [PATCH 5/5] BW-868 #comment rename testcase name --- .../src/lib/core/store/selectors/topics.selector.spec.ts | 2 +- .../src/lib/core/store/selectors/user.selector.spec.ts | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/projects/shared-library/src/lib/core/store/selectors/topics.selector.spec.ts b/projects/shared-library/src/lib/core/store/selectors/topics.selector.spec.ts index 8d36ff3db..527dafc9a 100644 --- a/projects/shared-library/src/lib/core/store/selectors/topics.selector.spec.ts +++ b/projects/shared-library/src/lib/core/store/selectors/topics.selector.spec.ts @@ -5,7 +5,7 @@ import { Topic } from 'shared-library/shared/model'; describe('Topics:Selector', () => { const topTopics: Topic[] = testData.topics; - it('Get User selector return user object', () => { + it('getTopTopics', () => { const state = { core: { topTopics } }; expect(getTopTopics(state)).toBe(topTopics); }); diff --git a/projects/shared-library/src/lib/core/store/selectors/user.selector.spec.ts b/projects/shared-library/src/lib/core/store/selectors/user.selector.spec.ts index 051b90219..bdb1956c5 100644 --- a/projects/shared-library/src/lib/core/store/selectors/user.selector.spec.ts +++ b/projects/shared-library/src/lib/core/store/selectors/user.selector.spec.ts @@ -4,18 +4,18 @@ import { authorizationHeader, getUser } from './user.selector'; describe('User:Selector', () => { const user = testData.userList[0]; - it('Get User selector return user object', () => { + it('getUser', () => { const state = { core: { user } }; expect(getUser(state)).toBe(user); }); - it('Get idToken token from user', () => { + it('getUser', () => { const state = { core: { user } }; const token = `Bearer ${user.idToken}`; expect(authorizationHeader(state)).toBe(token); }); - it('Get null if user is not find', () => { + it('authorizationHeader with null', () => { const state = { core: { user: '' } }; expect(authorizationHeader(state)).toBe(null); });