Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-07-27 00:09:48 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-07-27 00:09:48 +0300
commitf57bd3d34851023628f4b2f3402720f8f404641f (patch)
treeb6eebadd432f5dc0dc9a5e0a612aae527ed8ed4c /spec
parentcafc99870a5167530f45ddcdee98afa86a27a0f7 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec')
-rw-r--r--spec/features/admin/broadcast_messages_spec.rb14
-rw-r--r--spec/features/broadcast_messages_spec.rb4
-rw-r--r--spec/frontend/admin/broadcast_messages/components/messages_table_spec.js4
-rw-r--r--spec/frontend/repository/components/blob_content_viewer_spec.js37
-rw-r--r--spec/frontend/vue_merge_request_widget/mr_widget_how_to_merge_modal_spec.js20
5 files changed, 40 insertions, 39 deletions
diff --git a/spec/features/admin/broadcast_messages_spec.rb b/spec/features/admin/broadcast_messages_spec.rb
index fca4cdb0ff4..b89ebc34d6a 100644
--- a/spec/features/admin/broadcast_messages_spec.rb
+++ b/spec/features/admin/broadcast_messages_spec.rb
@@ -12,6 +12,12 @@ RSpec.describe 'Admin Broadcast Messages', :js, feature_category: :onboarding do
# create
visit admin_broadcast_messages_path
+ click_button('Add new message')
+
+ page.within(preview_container) do
+ expect(page).to have_content('Your message here')
+ end
+
fill_in 'Message', with: 'test message'
wait_for_requests
@@ -24,10 +30,6 @@ RSpec.describe 'Admin Broadcast Messages', :js, feature_category: :onboarding do
wait_for_requests
- page.within(preview_container) do
- expect(page).to have_content('Your message here')
- end
-
page.within(first_message_container) do
expect(page).to have_content('test message')
end
@@ -53,10 +55,6 @@ RSpec.describe 'Admin Broadcast Messages', :js, feature_category: :onboarding do
wait_for_requests
- page.within(preview_container) do
- expect(page).to have_content('Your message here')
- end
-
page.within(first_message_container) do
expect(page).to have_content('changed test message')
end
diff --git a/spec/features/broadcast_messages_spec.rb b/spec/features/broadcast_messages_spec.rb
index 2e0f4e3b83b..98f87face15 100644
--- a/spec/features/broadcast_messages_spec.rb
+++ b/spec/features/broadcast_messages_spec.rb
@@ -3,6 +3,8 @@
require 'spec_helper'
RSpec.describe 'Broadcast Messages', feature_category: :onboarding do
+ include Spec::Support::Helpers::ModalHelpers
+
let_it_be(:user) { create(:user) }
let(:path) { explore_projects_path }
@@ -127,6 +129,8 @@ RSpec.describe 'Broadcast Messages', feature_category: :onboarding do
find("[data-testid='delete-message-#{message.id}']").click
end
+ accept_gl_confirm(button_text: 'Delete message')
+
visit path
expect_no_broadcast_message
diff --git a/spec/frontend/admin/broadcast_messages/components/messages_table_spec.js b/spec/frontend/admin/broadcast_messages/components/messages_table_spec.js
index 6d536b2d0e4..c92820735ff 100644
--- a/spec/frontend/admin/broadcast_messages/components/messages_table_spec.js
+++ b/spec/frontend/admin/broadcast_messages/components/messages_table_spec.js
@@ -1,3 +1,4 @@
+import { GlModal } from '@gitlab/ui';
import { mount } from '@vue/test-utils';
import MessagesTable from '~/admin/broadcast_messages/components/messages_table.vue';
import { MOCK_MESSAGES } from '../mock_data';
@@ -8,6 +9,7 @@ describe('MessagesTable', () => {
const findRows = () => wrapper.findAll('[data-testid="message-row"]');
const findTargetRoles = () => wrapper.find('[data-testid="target-roles-th"]');
const findDeleteButton = (id) => wrapper.find(`[data-testid="delete-message-${id}"]`);
+ const findModal = () => wrapper.findComponent(GlModal);
function createComponent(props = {}) {
wrapper = mount(MessagesTable, {
@@ -34,6 +36,8 @@ describe('MessagesTable', () => {
const { id } = MOCK_MESSAGES[0];
createComponent();
findDeleteButton(id).element.click();
+ findModal().vm.$emit('primary');
+
expect(wrapper.emitted('delete-message')).toHaveLength(1);
expect(wrapper.emitted('delete-message')[0]).toEqual([id]);
});
diff --git a/spec/frontend/repository/components/blob_content_viewer_spec.js b/spec/frontend/repository/components/blob_content_viewer_spec.js
index 50727756906..a3fab889801 100644
--- a/spec/frontend/repository/components/blob_content_viewer_spec.js
+++ b/spec/frontend/repository/components/blob_content_viewer_spec.js
@@ -78,7 +78,6 @@ const createComponent = async (mockData = {}, mountFn = shallowMount, mockRoute
createMergeRequestIn = userPermissionsMock.createMergeRequestIn,
isBinary,
inject = {},
- highlightJs = true,
} = mockData;
const blobInfo = {
@@ -151,7 +150,6 @@ const createComponent = async (mockData = {}, mountFn = shallowMount, mockRoute
originalBranch: 'default-ref',
...inject,
glFeatures: {
- highlightJs,
highlightJsWorker: false,
},
},
@@ -223,16 +221,6 @@ describe('Blob content viewer component', () => {
describe('legacy viewers', () => {
const fileType = 'text';
- const highlightJs = false;
-
- it('loads a legacy viewer when a the fileType is text and the highlightJs feature is turned off', async () => {
- await createComponent({
- blob: { ...simpleViewerMock, fileType, highlightJs },
- });
-
- expect(mockAxios.history.get).toHaveLength(1);
- expect(mockAxios.history.get[0].url).toBe(legacyViewerUrl);
- });
it('loads a legacy viewer when the source viewer emits an error', async () => {
loadViewer.mockReturnValueOnce(SourceViewer);
@@ -261,19 +249,19 @@ describe('Blob content viewer component', () => {
it('loads the LineHighlighter', async () => {
mockAxios.onGet(legacyViewerUrl).replyOnce(HTTP_STATUS_OK, 'test');
- await createComponent({ blob: { ...simpleViewerMock, fileType, highlightJs } });
+ await createComponent({ blob: { ...simpleViewerMock, fileType } });
expect(LineHighlighter).toHaveBeenCalled();
});
it('does not load the LineHighlighter for RichViewers', async () => {
mockAxios.onGet(legacyViewerUrl).replyOnce(HTTP_STATUS_OK, 'test');
- await createComponent({ blob: { ...richViewerMock, fileType, highlightJs } });
+ await createComponent({ blob: { ...richViewerMock, fileType } });
expect(LineHighlighter).not.toHaveBeenCalled();
});
it('scrolls to the hash', async () => {
mockAxios.onGet(legacyViewerUrl).replyOnce(HTTP_STATUS_OK, 'test');
- await createComponent({ blob: { ...simpleViewerMock, fileType, highlightJs } });
+ await createComponent({ blob: { ...simpleViewerMock, fileType } });
expect(handleLocationHash).toHaveBeenCalled();
});
});
@@ -516,20 +504,13 @@ describe('Blob content viewer component', () => {
});
describe('blob info query', () => {
- it.each`
- highlightJs | shouldFetchRawText
- ${true} | ${true}
- ${false} | ${false}
- `(
- 'calls blob info query with shouldFetchRawText: $shouldFetchRawText when highlightJs (feature flag): $highlightJs',
- async ({ highlightJs, shouldFetchRawText }) => {
- await createComponent({ highlightJs });
+ it('calls blob info query with shouldFetchRawText: true', async () => {
+ await createComponent();
- expect(blobInfoMockResolver).toHaveBeenCalledWith(
- expect.objectContaining({ shouldFetchRawText }),
- );
- },
- );
+ expect(blobInfoMockResolver).toHaveBeenCalledWith(
+ expect.objectContaining({ shouldFetchRawText: true }),
+ );
+ });
it('is called with originalBranch value if the prop has a value', async () => {
await createComponent({ inject: { originalBranch: 'some-branch' } });
diff --git a/spec/frontend/vue_merge_request_widget/mr_widget_how_to_merge_modal_spec.js b/spec/frontend/vue_merge_request_widget/mr_widget_how_to_merge_modal_spec.js
index 20f1796008a..60525a96907 100644
--- a/spec/frontend/vue_merge_request_widget/mr_widget_how_to_merge_modal_spec.js
+++ b/spec/frontend/vue_merge_request_widget/mr_widget_how_to_merge_modal_spec.js
@@ -41,9 +41,23 @@ describe('MRWidgetHowToMerge', () => {
expect(findTipLink().exists()).toBe(false);
});
- it('should render different instructions based on if the user can merge', () => {
- mountComponent({ props: { canMerge: true } });
- expect(findInstructionsFields().at(1).text()).toContain('git push origin');
+ it('should render instructions to push', () => {
+ mountComponent({ props: { sourceBranch: 'branch-of-user' } });
+ expect(findInstructionsFields().at(1).text()).toContain("git push origin 'branch-of-user'");
+ });
+
+ it('should render instructions to push to fork', () => {
+ mountComponent({
+ props: {
+ sourceProjectDefaultUrl: 'git@gitlab.com:contributor/Underscore.git',
+ sourceProjectPath: 'Underscore',
+ sourceBranch: 'branch-of-user',
+ isFork: true,
+ },
+ });
+ expect(findInstructionsFields().at(1).text()).toContain(
+ 'git push "git@gitlab.com:contributor/Underscore.git" \'Underscore-branch-of-user:branch-of-user\'',
+ );
});
it('escapes the source branch name shell-secure', () => {