From 16f267a80f2863f4ff4c2d609584d4cc0fbaae76 Mon Sep 17 00:00:00 2001 From: Wouter Admiraal Date: Fri, 22 Mar 2019 10:53:05 +0100 Subject: [PATCH] Split mocks for CurrentUser and LoggedInUser --- .../apps/account/components/__tests__/Password-test.tsx | 4 ++-- .../js/apps/issues/components/__tests__/App-test.tsx | 4 ++-- .../organizationMembers/__tests__/MembersList-test.tsx | 4 ++-- .../__tests__/MembersListHeader-test.tsx | 6 +++--- .../__tests__/OrganizationMembers-test.tsx | 4 ++-- .../components/__tests__/OrganizationBind-test.tsx | 4 ++-- .../components/__tests__/OrganizationEdit-test.tsx | 4 ++-- .../__tests__/OrganizationNavigationHeader-test.tsx | 8 ++++++-- .../apps/overview/meta/__tests__/MetaContainer-test.tsx | 4 ++-- .../settings/components/__tests__/EmailForm-test.tsx | 4 ++-- .../onboarding/__tests__/OnboardingModal-test.tsx | 6 +++--- .../main/js/helpers/__tests__/almIntegrations-test.ts | 4 ++-- server/sonar-web/src/main/js/helpers/testMocks.ts | 9 ++++++++- 13 files changed, 38 insertions(+), 27 deletions(-) diff --git a/server/sonar-web/src/main/js/apps/account/components/__tests__/Password-test.tsx b/server/sonar-web/src/main/js/apps/account/components/__tests__/Password-test.tsx index 2b5900be381..efe80d9f4b8 100644 --- a/server/sonar-web/src/main/js/apps/account/components/__tests__/Password-test.tsx +++ b/server/sonar-web/src/main/js/apps/account/components/__tests__/Password-test.tsx @@ -20,8 +20,8 @@ import * as React from 'react'; import { shallow } from 'enzyme'; import Password from '../Password'; -import { mockCurrentUser } from '../../../../helpers/testMocks'; +import { mockLoggedInUser } from '../../../../helpers/testMocks'; it('renders correctly', () => { - expect(shallow()).toMatchSnapshot(); + expect(shallow()).toMatchSnapshot(); }); diff --git a/server/sonar-web/src/main/js/apps/issues/components/__tests__/App-test.tsx b/server/sonar-web/src/main/js/apps/issues/components/__tests__/App-test.tsx index 1c27ca4366e..d978c70f208 100644 --- a/server/sonar-web/src/main/js/apps/issues/components/__tests__/App-test.tsx +++ b/server/sonar-web/src/main/js/apps/issues/components/__tests__/App-test.tsx @@ -21,7 +21,7 @@ import * as React from 'react'; import { shallow } from 'enzyme'; import { App } from '../App'; import { - mockCurrentUser, + mockLoggedInUser, mockRouter, mockIssue, mockLocation @@ -193,7 +193,7 @@ function shallowRender(props: Partial = {}) { organization: 'John', qualifier: 'Doe' }} - currentUser={mockCurrentUser()} + currentUser={mockLoggedInUser()} fetchIssues={jest.fn().mockResolvedValue({ components: [referencedComponent], effortTotal: 1, diff --git a/server/sonar-web/src/main/js/apps/organizationMembers/__tests__/MembersList-test.tsx b/server/sonar-web/src/main/js/apps/organizationMembers/__tests__/MembersList-test.tsx index f3746540b7a..b04b6978982 100644 --- a/server/sonar-web/src/main/js/apps/organizationMembers/__tests__/MembersList-test.tsx +++ b/server/sonar-web/src/main/js/apps/organizationMembers/__tests__/MembersList-test.tsx @@ -20,7 +20,7 @@ import * as React from 'react'; import { shallow } from 'enzyme'; import MembersList from '../MembersList'; -import { mockOrganization, mockCurrentUser } from '../../../helpers/testMocks'; +import { mockLoggedInUser, mockOrganization } from '../../../helpers/testMocks'; const members = [ { login: 'admin', name: 'Admin Istrator', avatar: '', groupCount: 3 }, @@ -38,7 +38,7 @@ it('should render "no results"', () => { function shallowRender(props: Partial = {}) { return shallow( { it('should not render link in help tooltip', () => { expect( shallowRender({ - currentUser: mockCurrentUser({ personalOrganization: 'foo' }), + currentUser: mockLoggedInUser({ personalOrganization: 'foo' }), organization: mockOrganizationWithAlm({}, { membersSync: true }) }).find('HelpTooltip') ).toMatchSnapshot(); @@ -62,7 +62,7 @@ it('should not render link in help tooltip', () => { function shallowRender(props: Partial = {}) { return shallow( { function shallowRender(props: Partial = {}) { return shallow( diff --git a/server/sonar-web/src/main/js/apps/organizations/components/__tests__/OrganizationBind-test.tsx b/server/sonar-web/src/main/js/apps/organizations/components/__tests__/OrganizationBind-test.tsx index 079de73c67e..286f9a241b4 100644 --- a/server/sonar-web/src/main/js/apps/organizations/components/__tests__/OrganizationBind-test.tsx +++ b/server/sonar-web/src/main/js/apps/organizations/components/__tests__/OrganizationBind-test.tsx @@ -28,7 +28,7 @@ import { getAlmAppInfo } from '../../../../api/alm-integration'; import { save } from '../../../../helpers/storage'; import { mockAlmApplication, - mockCurrentUser, + mockLoggedInUser, mockOrganization } from '../../../../helpers/testMocks'; @@ -64,7 +64,7 @@ it('should save state when handling Install App click', () => { function shallowRender(props: Partial = {}) { return shallow( diff --git a/server/sonar-web/src/main/js/apps/organizations/components/__tests__/OrganizationEdit-test.tsx b/server/sonar-web/src/main/js/apps/organizations/components/__tests__/OrganizationEdit-test.tsx index 1daa8265779..357786f3d9b 100644 --- a/server/sonar-web/src/main/js/apps/organizations/components/__tests__/OrganizationEdit-test.tsx +++ b/server/sonar-web/src/main/js/apps/organizations/components/__tests__/OrganizationEdit-test.tsx @@ -20,13 +20,13 @@ import * as React from 'react'; import { shallow } from 'enzyme'; import { OrganizationEdit } from '../OrganizationEdit'; -import { mockCurrentUser } from '../../../../helpers/testMocks'; +import { mockLoggedInUser } from '../../../../helpers/testMocks'; it('smoke test', () => { const organization = { key: 'foo', name: 'Foo' }; const wrapper = shallow( diff --git a/server/sonar-web/src/main/js/apps/organizations/navigation/__tests__/OrganizationNavigationHeader-test.tsx b/server/sonar-web/src/main/js/apps/organizations/navigation/__tests__/OrganizationNavigationHeader-test.tsx index 12f1d27fb4c..abd265629e3 100644 --- a/server/sonar-web/src/main/js/apps/organizations/navigation/__tests__/OrganizationNavigationHeader-test.tsx +++ b/server/sonar-web/src/main/js/apps/organizations/navigation/__tests__/OrganizationNavigationHeader-test.tsx @@ -20,7 +20,11 @@ import * as React from 'react'; import { shallow } from 'enzyme'; import OrganizationNavigationHeader, { Props } from '../OrganizationNavigationHeader'; -import { mockOrganizationWithAlm, mockCurrentUser } from '../../../../helpers/testMocks'; +import { + mockOrganizationWithAlm, + mockCurrentUser, + mockLoggedInUser +} from '../../../../helpers/testMocks'; it('renders', () => { expect(shallowRender()).toMatchSnapshot(); @@ -34,7 +38,7 @@ it('renders with alm integration', () => { it('renders for external user w/o alm integration', () => { expect( - shallowRender({ currentUser: mockCurrentUser({ externalProvider: 'github' }) }) + shallowRender({ currentUser: mockLoggedInUser({ externalProvider: 'github' }) }) ).toMatchSnapshot(); }); diff --git a/server/sonar-web/src/main/js/apps/overview/meta/__tests__/MetaContainer-test.tsx b/server/sonar-web/src/main/js/apps/overview/meta/__tests__/MetaContainer-test.tsx index 5a1378797e5..99b5e123b8d 100644 --- a/server/sonar-web/src/main/js/apps/overview/meta/__tests__/MetaContainer-test.tsx +++ b/server/sonar-web/src/main/js/apps/overview/meta/__tests__/MetaContainer-test.tsx @@ -22,7 +22,7 @@ import { shallow } from 'enzyme'; import { Meta } from '../MetaContainer'; import { mockAppState, - mockCurrentUser, + mockLoggedInUser, mockOrganization, mockComponent } from '../../../../helpers/testMocks'; @@ -58,7 +58,7 @@ function shallowRender(props: Partial = {}) { { - expect(shallow()).toMatchSnapshot(); + expect(shallow()).toMatchSnapshot(); }); diff --git a/server/sonar-web/src/main/js/apps/tutorials/onboarding/__tests__/OnboardingModal-test.tsx b/server/sonar-web/src/main/js/apps/tutorials/onboarding/__tests__/OnboardingModal-test.tsx index ab03de8c5d3..23ee2e84229 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/onboarding/__tests__/OnboardingModal-test.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/onboarding/__tests__/OnboardingModal-test.tsx @@ -21,7 +21,7 @@ import * as React from 'react'; import { shallow } from 'enzyme'; import { OnboardingModal, Props } from '../OnboardingModal'; import { click } from '../../../../helpers/testUtils'; -import { mockCurrentUser, mockOrganization } from '../../../../helpers/testMocks'; +import { mockLoggedInUser, mockOrganization } from '../../../../helpers/testMocks'; it('renders correctly', () => { expect(shallowRender()).toMatchSnapshot(); @@ -41,7 +41,7 @@ it('should open project create page', () => { it('should display organization list if any', () => { const wrapper = shallowRender({ - currentUser: mockCurrentUser({ personalOrganization: 'personal' }), + currentUser: mockLoggedInUser({ personalOrganization: 'personal' }), userOrganizations: [ mockOrganization({ key: 'a', name: 'Arthur' }), mockOrganization({ key: 'd', name: 'Daniel Inc' }), @@ -56,7 +56,7 @@ it('should display organization list if any', () => { function shallowRender(props: Partial = {}) { return shallow( { expect(getAlmMembersUrl('github', 'https://github.com/Foo')).toBe( @@ -74,7 +74,7 @@ it('#sanitizeAlmId', () => { describe('getUserAlmKey', () => { it('should return sanitized almKey', () => { - expect(getUserAlmKey(mockCurrentUser({ externalProvider: 'bitbucketcloud' }))).toBe( + expect(getUserAlmKey(mockLoggedInUser({ externalProvider: 'bitbucketcloud' }))).toBe( 'bitbucket' ); }); diff --git a/server/sonar-web/src/main/js/helpers/testMocks.ts b/server/sonar-web/src/main/js/helpers/testMocks.ts index b9399a8e991..5a1ff87a358 100644 --- a/server/sonar-web/src/main/js/helpers/testMocks.ts +++ b/server/sonar-web/src/main/js/helpers/testMocks.ts @@ -131,7 +131,14 @@ export function mockQualityGateStatusCondition( }; } -export function mockCurrentUser(overrides: Partial = {}): T.LoggedInUser { +export function mockCurrentUser(overrides: Partial = {}): T.CurrentUser { + return { + isLoggedIn: false, + ...overrides + }; +} + +export function mockLoggedInUser(overrides: Partial = {}): T.LoggedInUser { return { groups: [], isLoggedIn: true, -- 2.39.5