2018-05-09 12:01:36 +05:30
|
|
|
import $ from 'jquery';
|
2022-07-16 23:28:13 +05:30
|
|
|
import { loadHTMLFixture, resetHTMLFixture } from 'helpers/fixtures';
|
2018-03-17 18:26:18 +05:30
|
|
|
import OAuthRememberMe from '~/pages/sessions/new/oauth_remember_me';
|
2017-09-10 17:25:29 +05:30
|
|
|
|
|
|
|
describe('OAuthRememberMe', () => {
|
2021-03-08 18:12:59 +05:30
|
|
|
const findFormAction = (selector) => {
|
2021-11-18 22:05:49 +05:30
|
|
|
return $(`#oauth-container .js-oauth-login${selector}`).parent('form').attr('action');
|
2020-06-23 00:09:42 +05:30
|
|
|
};
|
|
|
|
|
2017-09-10 17:25:29 +05:30
|
|
|
beforeEach(() => {
|
2022-07-16 23:28:13 +05:30
|
|
|
loadHTMLFixture('static/oauth_remember_me.html');
|
2017-09-10 17:25:29 +05:30
|
|
|
|
|
|
|
new OAuthRememberMe({ container: $('#oauth-container') }).bindEvents();
|
|
|
|
});
|
|
|
|
|
2022-07-16 23:28:13 +05:30
|
|
|
afterEach(() => {
|
|
|
|
resetHTMLFixture();
|
|
|
|
});
|
|
|
|
|
2017-09-10 17:25:29 +05:30
|
|
|
it('adds the "remember_me" query parameter to all OAuth login buttons', () => {
|
|
|
|
$('#oauth-container #remember_me').click();
|
|
|
|
|
2020-06-23 00:09:42 +05:30
|
|
|
expect(findFormAction('.twitter')).toBe('http://example.com/?remember_me=1');
|
|
|
|
expect(findFormAction('.github')).toBe('http://example.com/?remember_me=1');
|
|
|
|
expect(findFormAction('.facebook')).toBe(
|
2019-03-02 22:35:43 +05:30
|
|
|
'http://example.com/?redirect_fragment=L1&remember_me=1',
|
|
|
|
);
|
2017-09-10 17:25:29 +05:30
|
|
|
});
|
|
|
|
|
|
|
|
it('removes the "remember_me" query parameter from all OAuth login buttons', () => {
|
|
|
|
$('#oauth-container #remember_me').click();
|
|
|
|
$('#oauth-container #remember_me').click();
|
|
|
|
|
2020-06-23 00:09:42 +05:30
|
|
|
expect(findFormAction('.twitter')).toBe('http://example.com/');
|
|
|
|
expect(findFormAction('.github')).toBe('http://example.com/');
|
|
|
|
expect(findFormAction('.facebook')).toBe('http://example.com/?redirect_fragment=L1');
|
2017-09-10 17:25:29 +05:30
|
|
|
});
|
|
|
|
});
|