Skip to content

Commit 5b9b63c

Browse files
committed
chore: addressing code review
1 parent 581aa45 commit 5b9b63c

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

static/app/views/nav/orgDropdown.spec.tsx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@ import {UserFixture} from 'sentry-fixture/user';
33

44
import {render, screen, userEvent, within} from 'sentry-test/reactTestingLibrary';
55

6+
import {CUSTOM_REFERRER_KEY} from 'sentry/constants';
67
import ConfigStore from 'sentry/stores/configStore';
78
import OrganizationsStore from 'sentry/stores/organizationsStore';
9+
import sessionStorage from 'sentry/utils/sessionStorage';
810
import {OrgDropdown} from 'sentry/views/nav/orgDropdown';
911

1012
describe('OrgDropdown', () => {
@@ -102,4 +104,16 @@ describe('OrgDropdown', () => {
102104
within(inactiveGroup).getByRole('menuitemradio', {name: /Deleting org/})
103105
).toBeInTheDocument();
104106
});
107+
108+
it('clicking project sets referrer in session storage', async () => {
109+
render(<OrgDropdown />, {organization});
110+
await userEvent.click(screen.getByRole('button', {name: 'Toggle organization menu'}));
111+
// We use onAction to navigate, no href is set:
112+
expect(screen.getByRole('menuitemradio', {name: 'Projects'})).not.toHaveAttribute(
113+
'href'
114+
);
115+
// onClick should take precedence setting session storage value and navigating:
116+
await userEvent.click(screen.getByRole('menuitemradio', {name: 'Projects'}));
117+
expect(sessionStorage.getItem(CUSTOM_REFERRER_KEY)).toBe('"org-dropdown"');
118+
});
105119
});

static/gsApp/utils/rawTrackAnalyticsEvent.spec.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ describe('rawTrackAnalyticsEvent', () => {
187187
});
188188

189189
it('sets custom_referrer if found in local storage', () => {
190-
sessionStorage.setItem(CUSTOM_REFERRER_KEY, 'batman');
190+
sessionStorage.setItem(CUSTOM_REFERRER_KEY, JSON.stringify('batman'));
191191
setWindowLocation('http:/localhost');
192192
rawTrackAnalyticsEvent({
193193
eventKey: 'test_event',

static/gsApp/utils/rawTrackAnalyticsEvent.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ const getCustomReferrer = () => {
8282
sessionStorage.getItem(CUSTOM_REFERRER_KEY) &&
8383
typeof sessionStorage.getItem(CUSTOM_REFERRER_KEY) === 'string'
8484
) {
85-
const sessionReferrer = sessionStorage.getItem(CUSTOM_REFERRER_KEY);
85+
const sessionReferrer = JSON.parse(sessionStorage.getItem(CUSTOM_REFERRER_KEY));
8686
sessionStorage.removeItem(CUSTOM_REFERRER_KEY);
8787
return sessionReferrer;
8888
}

0 commit comments

Comments
 (0)