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-08-01 12:10:08 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-08-01 12:10:08 +0300
commit1fb5861e0a89e67369a6ab36ffa6dd29d2445bff (patch)
tree801201c3902dea6be771e811830f18e4c4ea4563 /spec
parentadc17b84d11174d88a945d51a575292046a51a2c (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec')
-rw-r--r--spec/frontend/custom_emoji/components/__snapshots__/list_spec.js.snap220
-rw-r--r--spec/frontend/custom_emoji/components/list_spec.js45
-rw-r--r--spec/frontend/custom_emoji/mock_data.js8
-rw-r--r--spec/models/ci/bridge_spec.rb2
-rw-r--r--spec/requests/api/npm_group_packages_spec.rb3
-rw-r--r--spec/requests/organizations/organizations_controller_spec.rb8
-rw-r--r--spec/support/shared_contexts/requests/api/npm_packages_shared_context.rb2
-rw-r--r--spec/support/shared_examples/ci/deployable_shared_examples.rb2
8 files changed, 283 insertions, 7 deletions
diff --git a/spec/frontend/custom_emoji/components/__snapshots__/list_spec.js.snap b/spec/frontend/custom_emoji/components/__snapshots__/list_spec.js.snap
new file mode 100644
index 00000000000..4e87d4d8192
--- /dev/null
+++ b/spec/frontend/custom_emoji/components/__snapshots__/list_spec.js.snap
@@ -0,0 +1,220 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Custom emoji settings list component renders table of custom emoji 1`] = `
+<div>
+ <div
+ class="tabs gl-tabs"
+ >
+ <!---->
+ <div
+ class=""
+ >
+ <ul
+ class="nav gl-tabs-nav"
+ role="tablist"
+ >
+ <div
+ class="gl-actions-tabs-start"
+ data-testid="actions-tabs-start"
+ >
+ <a
+ class="btn btn-info btn-md gl-button"
+ data-testid="action-primary"
+ href="/new"
+ to="/new"
+ >
+ <!---->
+
+ <!---->
+
+ <span
+ class="gl-button-text"
+ >
+
+ New custom emoji
+
+ </span>
+ </a>
+
+ <!---->
+
+ <!---->
+ </div>
+ <div
+ class="gl-actions-tabs-end"
+ data-testid="actions-tabs-end"
+ >
+ <a
+ class="btn btn-info btn-md gl-button"
+ data-testid="action-primary"
+ href="/new"
+ to="/new"
+ >
+ <!---->
+
+ <!---->
+
+ <span
+ class="gl-button-text"
+ >
+
+ New custom emoji
+
+ </span>
+ </a>
+
+ <!---->
+
+ <!---->
+ </div>
+ </ul>
+ </div>
+ <div
+ class="tab-content gl-pt-0 gl-tab-content"
+ >
+ <transition-stub
+ css="true"
+ enteractiveclass=""
+ enterclass=""
+ entertoclass="show"
+ leaveactiveclass=""
+ leaveclass="show"
+ leavetoclass=""
+ mode="out-in"
+ name=""
+ >
+ <div
+ aria-hidden="true"
+ class="tab-pane"
+ role="tabpanel"
+ style="display: none;"
+ >
+
+ <table
+ aria-busy=""
+ aria-colcount="4"
+ class="table b-table gl-table gl-table-layout-fixed"
+ role="table"
+ >
+ <!---->
+ <colgroup>
+ <col
+ style="width: 70px;"
+ />
+ <col />
+ <col
+ style="width: 25%;"
+ />
+ <col
+ style="width: 64px;"
+ />
+ </colgroup>
+ <thead
+ class=""
+ role="rowgroup"
+ >
+ <!---->
+ <tr
+ class=""
+ role="row"
+ >
+ <th
+ aria-colindex="1"
+ class="gl-border-t-0!"
+ role="columnheader"
+ scope="col"
+ >
+ <div>
+ Image
+ </div>
+ </th>
+ <th
+ aria-colindex="2"
+ class="gl-border-t-0!"
+ role="columnheader"
+ scope="col"
+ >
+ <div>
+ Name
+ </div>
+ </th>
+ <th
+ aria-colindex="3"
+ class="gl-border-t-0!"
+ role="columnheader"
+ scope="col"
+ >
+ <div>
+ Created date
+ </div>
+ </th>
+ <th
+ aria-colindex="4"
+ aria-label="Action"
+ class="gl-border-t-0!"
+ role="columnheader"
+ scope="col"
+ >
+ <div />
+ </th>
+ </tr>
+ </thead>
+ <tbody
+ role="rowgroup"
+ >
+ <!---->
+ <tr
+ class=""
+ role="row"
+ >
+ <td
+ aria-colindex="1"
+ class="gl-vertical-align-middle!"
+ role="cell"
+ >
+ <gl-emoji
+ data-fallback-src="https://gitlab.com/custom_emoji/custom_emoji/-/raw/main/img/confused_husky.gif"
+ data-name="confused_husky"
+ data-unicode-version="custom"
+ />
+ </td>
+ <td
+ aria-colindex="2"
+ class="gl-vertical-align-middle! gl-font-monospace"
+ role="cell"
+ >
+ <strong
+ class="gl-str-truncated"
+ >
+ :confused_husky:
+ </strong>
+ </td>
+ <td
+ aria-colindex="3"
+ class="gl-vertical-align-middle!"
+ role="cell"
+ >
+
+ created-at
+
+ </td>
+ <td
+ aria-colindex="4"
+ class=""
+ role="cell"
+ />
+ </tr>
+ <!---->
+ <!---->
+ </tbody>
+ <!---->
+ </table>
+
+ <!---->
+ </div>
+ </transition-stub>
+ <!---->
+ </div>
+ </div>
+</div>
+`;
diff --git a/spec/frontend/custom_emoji/components/list_spec.js b/spec/frontend/custom_emoji/components/list_spec.js
new file mode 100644
index 00000000000..ac5219e375b
--- /dev/null
+++ b/spec/frontend/custom_emoji/components/list_spec.js
@@ -0,0 +1,45 @@
+import Vue from 'vue';
+import { mountExtended } from 'helpers/vue_test_utils_helper';
+import List from '~/custom_emoji/components/list.vue';
+import { CUSTOM_EMOJI } from '../mock_data';
+
+jest.mock('~/lib/utils/datetime/date_format_utility', () => ({
+ formatDate: (date) => date,
+}));
+
+Vue.config.ignoredElements = ['gl-emoji'];
+
+let wrapper;
+
+function createComponent(propsData = {}) {
+ wrapper = mountExtended(List, {
+ propsData: {
+ customEmojis: CUSTOM_EMOJI,
+ pageInfo: {},
+ count: CUSTOM_EMOJI.length,
+ ...propsData,
+ },
+ });
+}
+
+describe('Custom emoji settings list component', () => {
+ it('renders table of custom emoji', () => {
+ createComponent();
+
+ expect(wrapper.element).toMatchSnapshot();
+ });
+
+ describe('pagination', () => {
+ it.each`
+ emits | button | pageInfo
+ ${{ before: 'startCursor' }} | ${'prevButton'} | ${{ hasPreviousPage: true, startCursor: 'startCursor' }}
+ ${{ after: 'endCursor' }} | ${'nextButton'} | ${{ hasNextPage: true, endCursor: 'endCursor' }}
+ `('emits $emits when $button is clicked', async ({ emits, button, pageInfo }) => {
+ createComponent({ pageInfo });
+
+ await wrapper.findByTestId(button).vm.$emit('click');
+
+ expect(wrapper.emitted('input')[0]).toEqual([emits]);
+ });
+ });
+});
diff --git a/spec/frontend/custom_emoji/mock_data.js b/spec/frontend/custom_emoji/mock_data.js
new file mode 100644
index 00000000000..19ba7022bf1
--- /dev/null
+++ b/spec/frontend/custom_emoji/mock_data.js
@@ -0,0 +1,8 @@
+export const CUSTOM_EMOJI = [
+ {
+ id: 'gid://gitlab/CustomEmoji/1',
+ name: 'confused_husky',
+ url: 'https://gitlab.com/custom_emoji/custom_emoji/-/raw/main/img/confused_husky.gif',
+ createdAt: 'created-at',
+ },
+];
diff --git a/spec/models/ci/bridge_spec.rb b/spec/models/ci/bridge_spec.rb
index a5366a1a67a..1d0c3bb5dee 100644
--- a/spec/models/ci/bridge_spec.rb
+++ b/spec/models/ci/bridge_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
RSpec.describe Ci::Bridge, feature_category: :continuous_integration do
- let_it_be(:project, reload: true) { create(:project, :repository, :in_group) }
+ let_it_be(:project, refind: true) { create(:project, :repository, :in_group) }
let_it_be(:target_project) { create(:project, name: 'project', namespace: create(:namespace, name: 'my')) }
let_it_be(:pipeline) { create(:ci_pipeline, project: project) }
diff --git a/spec/requests/api/npm_group_packages_spec.rb b/spec/requests/api/npm_group_packages_spec.rb
index 431c59cf1b8..fe0bf1d8b46 100644
--- a/spec/requests/api/npm_group_packages_spec.rb
+++ b/spec/requests/api/npm_group_packages_spec.rb
@@ -2,8 +2,7 @@
require 'spec_helper'
-RSpec.describe API::NpmGroupPackages, feature_category: :package_registry,
- quarantine: 'https://gitlab.com/gitlab-org/gitlab/-/issues/418757' do
+RSpec.describe API::NpmGroupPackages, feature_category: :package_registry do
using RSpec::Parameterized::TableSyntax
include_context 'npm api setup'
diff --git a/spec/requests/organizations/organizations_controller_spec.rb b/spec/requests/organizations/organizations_controller_spec.rb
index bd54b50de99..c3a328cf3f6 100644
--- a/spec/requests/organizations/organizations_controller_spec.rb
+++ b/spec/requests/organizations/organizations_controller_spec.rb
@@ -30,9 +30,13 @@ RSpec.describe Organizations::OrganizationsController, feature_category: :cell d
end
context 'when the feature flag `ui_for_organizations` is disabled' do
- it 'renders 404' do
- stub_feature_flags(ui_for_organizations: false)
+ let_it_be(:other_user) { create :user }
+
+ before do
+ stub_feature_flags(ui_for_organizations: other_user)
+ end
+ it 'renders 404' do
gitlab_request
expect(response).to have_gitlab_http_status(:not_found)
diff --git a/spec/support/shared_contexts/requests/api/npm_packages_shared_context.rb b/spec/support/shared_contexts/requests/api/npm_packages_shared_context.rb
index 36103b94542..9d05a39cdb8 100644
--- a/spec/support/shared_contexts/requests/api/npm_packages_shared_context.rb
+++ b/spec/support/shared_contexts/requests/api/npm_packages_shared_context.rb
@@ -7,7 +7,7 @@ RSpec.shared_context 'npm api setup' do
let_it_be(:user, reload: true) { create(:user) }
let_it_be(:group) { create(:group, name: 'test-group') }
let_it_be(:namespace) { group }
- let_it_be(:project, reload: true) { create(:project, :public, namespace: namespace) }
+ let_it_be_with_refind(:project) { create(:project, :public, namespace: namespace) }
let_it_be(:package, reload: true) { create(:npm_package, project: project, name: "@#{group.path}/scoped_package", version: '1.2.3') }
let_it_be(:token) { create(:oauth_access_token, scopes: 'api', resource_owner: user) }
let_it_be(:personal_access_token) { create(:personal_access_token, user: user) }
diff --git a/spec/support/shared_examples/ci/deployable_shared_examples.rb b/spec/support/shared_examples/ci/deployable_shared_examples.rb
index 367e939e69c..75ddc763bc6 100644
--- a/spec/support/shared_examples/ci/deployable_shared_examples.rb
+++ b/spec/support/shared_examples/ci/deployable_shared_examples.rb
@@ -51,7 +51,7 @@ RSpec.shared_examples 'a deployable job' do
end
context 'when job is older than the latest deployment but succeeded once' do
- let(:job) { create(factory_type, :success, :with_deployment, pipeline: pipeline, environment: 'production') }
+ let(:job) { create(factory_type, :success, :with_deployment, project: project, pipeline: pipeline, environment: 'production') }
before do
allow(job.deployment).to receive(:older_than_last_successful_deployment?).and_return(true)