diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-11-24 12:09:58 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-11-24 12:09:58 +0300 |
commit | 49cea0b04a1138a00cc7068c4c1a997867aeae88 (patch) | |
tree | 8fcb67c495910b1e29d3d103c67f4b5ab08f4486 /spec | |
parent | b8c4740f87d08217b970b6441eda28f79b78ecef (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec')
-rw-r--r-- | spec/frontend/projects/settings_service_desk/components/service_desk_setting_spec.js | 13 | ||||
-rw-r--r-- | spec/models/preloaders/group_root_ancestor_preloader_spec.rb | 63 |
2 files changed, 6 insertions, 70 deletions
diff --git a/spec/frontend/projects/settings_service_desk/components/service_desk_setting_spec.js b/spec/frontend/projects/settings_service_desk/components/service_desk_setting_spec.js index 0fd3e7446da..875c58583df 100644 --- a/spec/frontend/projects/settings_service_desk/components/service_desk_setting_spec.js +++ b/spec/frontend/projects/settings_service_desk/components/service_desk_setting_spec.js @@ -1,5 +1,5 @@ import { GlButton, GlDropdown, GlLoadingIcon, GlToggle } from '@gitlab/ui'; -import { shallowMount, mount } from '@vue/test-utils'; +import { mount } from '@vue/test-utils'; import { nextTick } from 'vue'; import { extendedWrapper } from 'helpers/vue_test_utils_helper'; import ServiceDeskSetting from '~/projects/settings_service_desk/components/service_desk_setting.vue'; @@ -11,14 +11,14 @@ describe('ServiceDeskSetting', () => { const findButton = () => wrapper.find(GlButton); const findClipboardButton = () => wrapper.find(ClipboardButton); const findIncomingEmail = () => wrapper.findByTestId('incoming-email'); - const findIncomingEmailLabel = () => wrapper.findByTestId('incoming-email-describer'); + const findIncomingEmailLabel = () => wrapper.findByTestId('incoming-email-label'); const findLoadingIcon = () => wrapper.find(GlLoadingIcon); const findTemplateDropdown = () => wrapper.find(GlDropdown); const findToggle = () => wrapper.find(GlToggle); - const createComponent = ({ props = {}, mountFunction = shallowMount } = {}) => + const createComponent = ({ props = {} } = {}) => extendedWrapper( - mountFunction(ServiceDeskSetting, { + mount(ServiceDeskSetting, { propsData: { isEnabled: true, ...props, @@ -131,8 +131,7 @@ describe('ServiceDeskSetting', () => { it('shows error when value contains uppercase or special chars', async () => { wrapper = createComponent({ - props: { customEmailEnabled: true }, - mountFunction: mount, + props: { email: 'foo@bar.com', customEmailEnabled: true }, }); const input = wrapper.findByTestId('project-suffix'); @@ -142,7 +141,7 @@ describe('ServiceDeskSetting', () => { await wrapper.vm.$nextTick(); - const errorText = wrapper.find('.text-danger'); + const errorText = wrapper.find('.invalid-feedback'); expect(errorText.exists()).toBe(true); }); }); diff --git a/spec/models/preloaders/group_root_ancestor_preloader_spec.rb b/spec/models/preloaders/group_root_ancestor_preloader_spec.rb deleted file mode 100644 index 0d622e84ef1..00000000000 --- a/spec/models/preloaders/group_root_ancestor_preloader_spec.rb +++ /dev/null @@ -1,63 +0,0 @@ -# frozen_string_literal: true - -require 'spec_helper' - -RSpec.describe Preloaders::GroupRootAncestorPreloader do - let_it_be(:user) { create(:user) } - let_it_be(:root_parent1) { create(:group, :private, name: 'root-1', path: 'root-1') } - let_it_be(:root_parent2) { create(:group, :private, name: 'root-2', path: 'root-2') } - let_it_be(:guest_group) { create(:group, name: 'public guest', path: 'public-guest') } - let_it_be(:private_maintainer_group) { create(:group, :private, name: 'b private maintainer', path: 'b-private-maintainer', parent: root_parent1) } - let_it_be(:private_developer_group) { create(:group, :private, project_creation_level: nil, name: 'c public developer', path: 'c-public-developer') } - let_it_be(:public_maintainer_group) { create(:group, :private, name: 'a public maintainer', path: 'a-public-maintainer', parent: root_parent2) } - - let(:root_query_regex) { /\ASELECT.+FROM "namespaces" WHERE "namespaces"."id" = \d+/ } - let(:additional_preloads) { [] } - let(:groups) { [guest_group, private_maintainer_group, private_developer_group, public_maintainer_group] } - let(:pristine_groups) { Group.where(id: groups) } - - shared_examples 'executes N matching DB queries' do |expected_query_count, query_method = nil| - it 'executes the specified root_ancestor queries' do - expect do - pristine_groups.each do |group| - root_ancestor = group.root_ancestor - - root_ancestor.public_send(query_method) if query_method.present? - end - end.to make_queries_matching(root_query_regex, expected_query_count) - end - - it 'strong_memoizes the correct root_ancestor' do - pristine_groups.each do |group| - expected_parent_id = group.root_ancestor.id == group.id ? nil : group.root_ancestor.id - - expect(group.parent_id).to eq(expected_parent_id) - end - end - end - - context 'when the preloader is used' do - before do - preload_ancestors - end - - context 'when no additional preloads are provided' do - it_behaves_like 'executes N matching DB queries', 0 - end - - context 'when additional preloads are provided' do - let(:additional_preloads) { [:route] } - let(:root_query_regex) { /\ASELECT.+FROM "routes" WHERE "routes"."source_id" = \d+/ } - - it_behaves_like 'executes N matching DB queries', 0, :full_path - end - end - - context 'when the preloader is not used' do - it_behaves_like 'executes N matching DB queries', 2 - end - - def preload_ancestors - described_class.new(pristine_groups, additional_preloads).execute - end -end |