Skip to content
Snippets Groups Projects
Commit 3b1a5d51 authored by Lee Tickett's avatar Lee Tickett :red_circle:
Browse files

Fix failing specs

parent 5cc04260
No related branches found
No related tags found
No related merge requests found
Pipeline #752463896 passed with warnings
Pipeline: GitLab

#752468061

    This commit is part of merge request !108378. Comments created here will be created in the context of that merge request.
    Showing
    with 54 additions and 51 deletions
    ......@@ -30,7 +30,7 @@ To read more about what is planned for the future, see [issue 2256](https://gitl
    ## Enable customer relations management (CRM)
    > [Enabled by default for new groups](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108378) from GitLab 15.8.
    > [Enabled by default](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108378) in GitLab 15.8.
    Customer relations management features are enabled at the group level. If your
    group also contains subgroups, and you want to use CRM features in the subgroup,
    ......
    ......@@ -10,7 +10,7 @@
    include_context 'group navbar structure'
    let_it_be(:user) { create(:user) }
    let_it_be(:group) { create(:group) }
    let_it_be(:group) { create(:group, :crm_disabled) }
    context 'for maintainers' do
    before do
    ......@@ -21,7 +21,12 @@
    sign_in(user)
    insert_package_nav(_('Kubernetes'))
    insert_after_nav_item(_('Analytics'), new_nav_item: settings_for_maintainer_nav_item)
    if group.root? && group.crm_enabled?
    insert_after_nav_item(_('Customer relations'), new_nav_item: settings_for_maintainer_nav_item)
    else
    insert_after_nav_item(_('Analytics'), new_nav_item: settings_for_maintainer_nav_item)
    end
    end
    context 'when devops adoption analytics is available' do
    ......@@ -127,19 +132,17 @@
    it_behaves_like 'verified navigation bar'
    end
    context 'when customer relations feature is enabled' do
    context 'when crm feature is enabled' do
    let(:group) { create(:group) }
    before do
    insert_customer_relations_nav(_('Analytics'))
    visit group_path(group)
    end
    it_behaves_like 'verified navigation bar'
    end
    context 'when customer relations feature enabled but subgroup' do
    context 'when crm feature enabled but subgroup' do
    let(:group) { create(:group, parent: create(:group)) }
    before do
    ......
    ......@@ -175,11 +175,7 @@ def members_by_username(username)
    end
    context 'when feature flag is enabled' do
    context 'when a group has contact relations enabled' do
    before do
    create(:crm_settings, group: group, enabled: true)
    end
    context 'when a group has crm enabled' do
    context 'when a user can read contacts' do
    it 'lists contacts' do
    group.add_developer(user)
    ......@@ -200,7 +196,11 @@ def members_by_username(username)
    end
    end
    context 'when a group has contact relations disabled' do
    context 'when a group has crm disabled' do
    before do
    create(:crm_settings, group: group, enabled: false)
    end
    it 'renders 404' do
    group.add_developer(user)
    ......
    ......@@ -14,7 +14,12 @@
    before do
    insert_package_nav(_('Kubernetes'))
    insert_after_nav_item(_('Analytics'), new_nav_item: settings_for_maintainer_nav_item) if Gitlab.ee?
    if Gitlab.ee? && structure.any? { |item| item&.dig(:nav_item) === _('Customer relations') }
    insert_after_nav_item(_('Customer relations'), new_nav_item: settings_for_maintainer_nav_item)
    elsif Gitlab.ee?
    insert_after_nav_item(_('Analytics'), new_nav_item: settings_for_maintainer_nav_item)
    end
    stub_config(dependency_proxy: { enabled: false })
    stub_config(registry: { enabled: false })
    ......@@ -43,23 +48,17 @@
    it_behaves_like 'verified navigation bar'
    end
    context 'when customer_relations feature is enabled' do
    let(:group) { create(:group) }
    context 'when crm feature is disabled' do
    let(:group) { create(:group, :crm_disabled) }
    before do
    if Gitlab.ee?
    insert_customer_relations_nav(_('Analytics'))
    else
    insert_customer_relations_nav(_('Packages and registries'))
    end
    visit group_path(group)
    end
    it_behaves_like 'verified navigation bar'
    end
    context 'when customer_relations feature is enabled but subgroup' do
    context 'when crm feature is enabled but subgroup' do
    let(:group) { create(:group, parent: create(:group)) }
    before do
    ......
    ......@@ -44,8 +44,8 @@
    end
    end
    context 'when customer relations feature is disabled for the group' do
    let_it_be(:group) { create(:group) }
    context 'when crm feature is disabled for the group' do
    let_it_be(:group) { create(:group, :crm_disabled) }
    let_it_be(:contact) { create(:contact, group: group) }
    before do
    ......
    ......@@ -45,7 +45,7 @@
    end
    context 'when customer relations feature is disabled for the group' do
    let_it_be(:group) { create(:group) }
    let_it_be(:group) { create(:group, :crm_disabled) }
    let_it_be(:organization) { create(:organization, group: group) }
    before do
    ......
    ......@@ -41,7 +41,7 @@
    end
    context 'when crm_enabled is false' do
    let(:group) { create(:group) }
    let(:group) { create(:group, :crm_disabled) }
    it 'raises an error' do
    expect { resolve_mutation }.to raise_error(Gitlab::Graphql::Errors::ResourceNotAvailable)
    ......
    ......@@ -1352,6 +1352,7 @@
    let(:current_user) { owner }
    before_all do
    group.create_or_load_association(:crm_settings)
    group.crm_settings.enabled = false
    group.crm_settings.save!
    end
    ......
    ......@@ -158,7 +158,9 @@ def expected_contacts(contacts)
    end
    context 'when crm_enabled is false' do
    let(:issue) { create(:issue) }
    let(:group2) { create(:group, :crm_disabled) }
    let(:project2) { create(:project, group: group2) }
    let(:issue) { create(:issue, project: project2) }
    let(:initial_contacts) { [] }
    it 'raises expected error' do
    ......
    ......@@ -37,7 +37,7 @@
    end
    context 'when crm_enabled is false' do
    let(:group) { create(:group, :private) }
    let(:group) { create(:group, :private, :crm_disabled) }
    it_behaves_like 'response with 404 status'
    end
    ......
    ......@@ -37,7 +37,7 @@
    end
    context 'when crm_enabled is false' do
    let(:group) { create(:group, :private) }
    let(:group) { create(:group, :private, :crm_disabled) }
    it_behaves_like 'response with 404 status'
    end
    ......
    ......@@ -175,29 +175,29 @@
    context 'crm_enabled param' do
    context 'when no existing crm_settings' do
    it 'when param not present, leave crm disabled' do
    it 'when param not present, leave crm enabled' do
    params = {}
    described_class.new(public_group, user, params).execute
    updated_group = public_group.reload
    expect(updated_group.crm_enabled?).to be_falsey
    expect(updated_group.crm_enabled?).to be_truthy
    end
    it 'when param set true, enables crm' do
    params = { crm_enabled: true }
    it 'when param set false, disables crm' do
    params = { crm_enabled: false }
    described_class.new(public_group, user, params).execute
    updated_group = public_group.reload
    expect(updated_group.crm_enabled?).to be_truthy
    expect(updated_group.crm_enabled?).to be_falsy
    end
    end
    context 'with existing crm_settings' do
    it 'when param set true, enables crm' do
    params = { crm_enabled: true }
    create(:crm_settings, group: public_group)
    create(:crm_settings, group: public_group, enabled: false)
    described_class.new(public_group, user, params).execute
    ......@@ -217,7 +217,7 @@
    it 'when param not present, crm remains disabled' do
    params = {}
    create(:crm_settings, group: public_group)
    create(:crm_settings, group: public_group, enabled: false)
    described_class.new(public_group, user, params).execute
    ......
    ......@@ -40,19 +40,6 @@ def insert_package_nav(within)
    )
    end
    def insert_customer_relations_nav(within)
    insert_after_nav_item(
    within,
    new_nav_item: {
    nav_item: _('Customer relations'),
    nav_sub_items: [
    _('Contacts'),
    _('Organizations')
    ]
    }
    )
    end
    def insert_container_nav
    insert_after_sub_nav_item(
    _('Package Registry'),
    ......
    ......@@ -190,6 +190,16 @@
    ]
    end
    let(:customer_relations_nav_item) do
    {
    nav_item: _('Customer relations'),
    nav_sub_items: [
    _('Contacts'),
    _('Organizations')
    ]
    }
    end
    let(:structure) do
    [
    {
    ......@@ -217,7 +227,8 @@
    nav_item: _('Kubernetes'),
    nav_sub_items: []
    },
    (analytics_nav_item if Gitlab.ee?)
    (analytics_nav_item if Gitlab.ee?),
    (customer_relations_nav_item if group.root? && group.crm_enabled?)
    ]
    end
    end
    ......
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Finish editing this message first!
    Please register or to comment