diff options
Diffstat (limited to 'spec/frontend/jira_connect/subscriptions/utils_spec.js')
-rw-r--r-- | spec/frontend/jira_connect/subscriptions/utils_spec.js | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/spec/frontend/jira_connect/subscriptions/utils_spec.js b/spec/frontend/jira_connect/subscriptions/utils_spec.js index 2dd95de1b8c..762d9eb3443 100644 --- a/spec/frontend/jira_connect/subscriptions/utils_spec.js +++ b/spec/frontend/jira_connect/subscriptions/utils_spec.js @@ -8,6 +8,7 @@ import { getLocation, reloadPage, sizeToParent, + getGitlabSignInURL, } from '~/jira_connect/subscriptions/utils'; describe('JiraConnect utils', () => { @@ -137,4 +138,25 @@ describe('JiraConnect utils', () => { }); }); }); + + describe('getGitlabSignInURL', () => { + const mockSignInURL = 'https://gitlab.com/sign_in'; + + it.each` + returnTo | expectResult + ${undefined} | ${mockSignInURL} + ${''} | ${mockSignInURL} + ${'/test/location'} | ${`${mockSignInURL}?return_to=${encodeURIComponent('/test/location')}`} + `( + 'returns `$expectResult` when `AP.getLocation` resolves to `$returnTo`', + async ({ returnTo, expectResult }) => { + global.AP = { + getLocation: jest.fn().mockImplementation((cb) => cb(returnTo)), + }; + + const url = await getGitlabSignInURL(mockSignInURL); + expect(url).toBe(expectResult); + }, + ); + }); }); |