diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-26 00:08:06 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-26 00:08:06 +0300 |
commit | e1549c75843d235607aebac9ed64f2fd10e549ed (patch) | |
tree | d6b4213b87b57b323464c7e5c1b75091212f3373 /spec | |
parent | 5d75b2b9a9d11c20667895e6aa68ea4e76658c5d (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec')
-rw-r--r-- | spec/features/broadcast_messages_spec.rb | 54 | ||||
-rw-r--r-- | spec/frontend/mocks/mocks_helper.js | 1 | ||||
-rw-r--r-- | spec/frontend/mocks/mocks_helper_spec.js | 23 |
3 files changed, 34 insertions, 44 deletions
diff --git a/spec/features/broadcast_messages_spec.rb b/spec/features/broadcast_messages_spec.rb index 41e8e969610..c770e6e4f81 100644 --- a/spec/features/broadcast_messages_spec.rb +++ b/spec/features/broadcast_messages_spec.rb @@ -3,12 +3,23 @@ require 'spec_helper' describe 'Broadcast Messages' do - shared_examples 'a Broadcast Messages' do + let_it_be(:user) { create(:user) } + + shared_examples 'a Broadcast Messages' do |type| it 'shows broadcast message' do visit root_path expect(page).to have_content 'SampleMessage' end + + it 'renders styled links' do + create(:broadcast_message, type, message: "<a href='gitlab.com' style='color: purple'>click me</a>") + + visit root_path + + expected_html = "<p><a href=\"gitlab.com\" style=\"color: purple\">click me</a></p>" + expect(page.body).to include(expected_html) + end end shared_examples 'a dismissable Broadcast Messages' do @@ -35,11 +46,21 @@ describe 'Broadcast Messages' do it_behaves_like 'a Broadcast Messages' - it 'shows broadcast message' do + it 'is not dismissable' do visit root_path expect(page).not_to have_selector('.js-dismiss-current-broadcast-notification') end + + it 'does not replace placeholders' do + create(:broadcast_message, message: 'Hi {{name}}') + + sign_in(user) + + visit root_path + + expect(page).to have_content 'Hi {{name}}' + end end describe 'dismissable banner type' do @@ -51,33 +72,20 @@ describe 'Broadcast Messages' do end describe 'notification type' do - let!(:broadcast_message) { create(:broadcast_message, broadcast_type: 'notification', message: 'SampleMessage') } + let!(:broadcast_message) { create(:broadcast_message, :notification, message: 'SampleMessage') } - it_behaves_like 'a Broadcast Messages' + it_behaves_like 'a Broadcast Messages', :notification it_behaves_like 'a dismissable Broadcast Messages' - end - - it 'renders broadcast message with placeholders' do - create(:broadcast_message, broadcast_type: 'notification', message: 'Hi {{name}}') - user = create(:user) - sign_in(user) + it 'replaces placeholders' do + create(:broadcast_message, :notification, message: 'Hi {{name}}') - visit root_path + sign_in(user) - expect(page).to have_content "Hi #{user.name}" - end - - it 'renders broadcast message with placeholders and styled links' do - create(:broadcast_message, broadcast_type: 'notification', message: "Hi {{name}} <a href='gitlab.com' style='color: purple'>click</a>") - - user = create(:user) - sign_in(user) - - visit root_path + visit root_path - expected_html = "<p>Hi #{user.name} <a href=\"gitlab.com\" style=\"color: purple\">click</a></p>" - expect(page.body).to include(expected_html) + expect(page).to have_content "Hi #{user.name}" + end end end diff --git a/spec/frontend/mocks/mocks_helper.js b/spec/frontend/mocks/mocks_helper.js index 21c032cd3c9..823ab41a5ba 100644 --- a/spec/frontend/mocks/mocks_helper.js +++ b/spec/frontend/mocks/mocks_helper.js @@ -16,7 +16,6 @@ const prefixMap = [ // E.g. the mock ce/foo/bar maps to require path ~/foo/bar { mocksRoot: 'ce', requirePrefix: '~' }, // { mocksRoot: 'ee', requirePrefix: 'ee' }, // We'll deal with EE-specific mocks later - { mocksRoot: 'node', requirePrefix: '' }, // { mocksRoot: 'virtual', requirePrefix: '' }, // We'll deal with virtual mocks later ]; diff --git a/spec/frontend/mocks/mocks_helper_spec.js b/spec/frontend/mocks/mocks_helper_spec.js index 82e88b712c0..a91e8ecfa4a 100644 --- a/spec/frontend/mocks/mocks_helper_spec.js +++ b/spec/frontend/mocks/mocks_helper_spec.js @@ -34,9 +34,8 @@ describe('mocks_helper.js', () => { it('enumerates through mock file roots', () => { setupManualMocks(); - expect(fs.existsSync).toHaveBeenCalledTimes(2); + expect(fs.existsSync).toHaveBeenCalledTimes(1); expect(fs.existsSync).toHaveBeenNthCalledWith(1, absPath('ce')); - expect(fs.existsSync).toHaveBeenNthCalledWith(2, absPath('node')); expect(readdir.sync).toHaveBeenCalledTimes(0); }); @@ -66,19 +65,6 @@ describe('mocks_helper.js', () => { expect(setMock).toHaveBeenNthCalledWith(2, '~/lib/utils/util', './ce/lib/utils/util'); }); - it('sets up mocks for node_modules', () => { - fs.existsSync.mockImplementation(root => root.endsWith('node')); - readdir.sync.mockReturnValue(['jquery', '@babel/core']); - setupManualMocks(); - - expect(readdir.sync).toHaveBeenCalledTimes(1); - expect(readdir.sync.mock.calls[0][0]).toBe(absPath('node')); - - expect(setMock).toHaveBeenCalledTimes(2); - expect(setMock).toHaveBeenNthCalledWith(1, 'jquery', './node/jquery'); - expect(setMock).toHaveBeenNthCalledWith(2, '@babel/core', './node/@babel/core'); - }); - it('sets up mocks for all roots', () => { const files = { [absPath('ce')]: ['root', 'lib/utils/util'], @@ -89,15 +75,12 @@ describe('mocks_helper.js', () => { readdir.sync.mockImplementation(root => files[root]); setupManualMocks(); - expect(readdir.sync).toHaveBeenCalledTimes(2); + expect(readdir.sync).toHaveBeenCalledTimes(1); expect(readdir.sync.mock.calls[0][0]).toBe(absPath('ce')); - expect(readdir.sync.mock.calls[1][0]).toBe(absPath('node')); - expect(setMock).toHaveBeenCalledTimes(4); + expect(setMock).toHaveBeenCalledTimes(2); expect(setMock).toHaveBeenNthCalledWith(1, '~/root', './ce/root'); expect(setMock).toHaveBeenNthCalledWith(2, '~/lib/utils/util', './ce/lib/utils/util'); - expect(setMock).toHaveBeenNthCalledWith(3, 'jquery', './node/jquery'); - expect(setMock).toHaveBeenNthCalledWith(4, '@babel/core', './node/@babel/core'); }); it('fails when given a virtual mock', () => { |