Commit ccfd020d authored by GitLab Bot's avatar GitLab Bot
Browse files

Add latest changes from gitlab-org/gitlab@master

parent 2653b4cdc9d8
import $ from 'jquery';
import { GlBreakpointInstance as bp } from '@gitlab/ui/dist/utils';
import axios from '~/lib/utils/axios_utils';
import Activities from '~/activities';
import { localTimeAgo } from '~/lib/utils/datetime_utility';
......@@ -209,7 +210,7 @@ export default class UserTabs {
loadActivityCalendar() {
const $calendarWrap = this.$parentEl.find('.tab-pane.active .user-calendar');
if (!$calendarWrap.length) return;
if (!$calendarWrap.length || bp.getBreakpointSize() === 'xs') return;
const calendarPath = $calendarWrap.data('calendarPath');
......
......@@ -31,7 +31,7 @@
= s_('ClusterIntegration|Alternatively')
%code{ :class => "js-ingress-domain-snippet" } #{@cluster.application_ingress_external_ip}.nip.io
= s_('ClusterIntegration| can be used instead of a custom domain.')
- custom_domain_url = help_page_path('user/project/clusters/index', anchor: 'pointing-your-dns-at-the-external-endpoint')
- custom_domain_url = help_page_path('user/clusters/applications.md', anchor: 'pointing-your-dns-at-the-external-endpoint')
- custom_domain_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: custom_domain_url }
= s_('ClusterIntegration| %{custom_domain_start}More information%{custom_domain_end}.').html_safe % { custom_domain_start: custom_domain_start, custom_domain_end: '</a>'.html_safe }
......
......@@ -283,7 +283,7 @@
Dropdown option
.dropdown-footer
%strong Tip:
If an author is not a member of this project, you can still filter by his name while using the search field.
If an author is not a member of this project, you can still filter by their name while using the search field.
.dropdown.inline
%button.dropdown-menu-toggle{ type: 'button', data: { toggle: 'dropdown' } }
Dropdown loading
......@@ -322,7 +322,7 @@
Dropdown option
.dropdown-footer
%strong Tip:
If an author is not a member of this project, you can still filter by his name while using the search field.
If an author is not a member of this project, you can still filter by their name while using the search field.
.dropdown-loading
= icon('spinner spin')
......
---
title: Avoid loading user activity calendar on mobile
merge_request: 24277
author: Takuya Noguchi
type: fixed
---
title: Fix link to base domain help in clusters view
merge_request: 24658
author:
type: fixed
......@@ -20,7 +20,7 @@ Branching in an Agile environment usually happens around user stories with one
or more developers working on it.
If more than one developer then another branch for each developer is also used
with his/her initials, and US id.
with their initials, and US id.
After its tested merge into master and remove the branch.
......
......@@ -4799,6 +4799,9 @@ msgstr ""
msgid "Comment & unresolve thread"
msgstr ""
msgid "Comment '%{label}' position"
msgstr ""
msgid "Comment form position"
msgstr ""
......
......@@ -24,7 +24,7 @@ function update_tests_metadata() {
scripts/merge-reports "${FLAKY_RSPEC_SUITE_REPORT_PATH}" rspec_flaky/all_*.json
export FLAKY_RSPEC_GENERATE_REPORT="1"
export FLAKY_RSPEC_GENERATE_REPORT="true"
scripts/flaky_examples/prune-old-flaky-examples "${FLAKY_RSPEC_SUITE_REPORT_PATH}"
if [[ -n ${TESTS_METADATA_S3_BUCKET} ]]; then
......
......@@ -27,7 +27,7 @@
expect(response).to have_gitlab_http_status(:ok)
end
it 'removes user and his spam logs when removing the user', :sidekiq_might_not_need_inline do
it 'removes user and their spam logs when removing the user', :sidekiq_might_not_need_inline do
delete :destroy, params: { id: first_spam.id, remove_user: true }
expect(flash[:notice]).to eq "User #{user.username} was successfully removed."
......
......@@ -270,7 +270,7 @@ def update_password(user, password, password_confirmation = nil)
post :update, params: params
end
context 'when the admin changes his own password' do
context 'when the admin changes their own password' do
it 'updates the password' do
expect { update_password(admin, 'AValidPassword1') }
.to change { admin.reload.encrypted_password }
......
......@@ -3,6 +3,8 @@
require 'spec_helper'
describe 'Contributions Calendar', :js do
include MobileHelpers
let(:user) { create(:user) }
let(:contributed_project) { create(:project, :public, :repository) }
let(:issue_note) { create(:note, project: contributed_project) }
......@@ -122,15 +124,15 @@ def selected_day_activities(visible: true)
end
end
describe 'calendar daily activities' do
shared_context 'visit user page' do
before do
visit user.username
page.find('.js-overview-tab a').click
wait_for_requests
end
shared_context 'visit user page' do
before do
visit user.username
page.find('.js-overview-tab a').click
wait_for_requests
end
end
describe 'calendar daily activities' do
shared_examples 'a day with activity' do |contribution_count:|
include_context 'visit user page'
......@@ -199,4 +201,22 @@ def selected_day_activities(visible: true)
end
end
end
describe 'on smaller screens' do
shared_examples 'hidden activity calendar' do
include_context 'visit user page'
it 'hides the activity calender' do
expect(find('#js-overview')).not_to have_css('.js-contrib-calendar')
end
end
context 'size xs' do
before do
resize_screen_xs
end
it_behaves_like 'hidden activity calendar'
end
end
end
......@@ -169,7 +169,7 @@ def fill_in_sign_in_form(user)
end
end
it "doesn't accept invitations until the user confirms his email" do
it "doesn't accept invitations until the user confirms their email" do
fill_in_sign_up_form(new_user)
sign_in(owner)
......
......@@ -2,7 +2,7 @@
require 'spec_helper'
describe 'Projects > Members > Group member cannot request access to his group project' do
describe 'Projects > Members > Group member cannot request access to their group project' do
let(:user) { create(:user) }
let(:group) { create(:group) }
let(:project) { create(:project, namespace: group) }
......
......@@ -2,7 +2,7 @@
require 'spec_helper'
describe 'Projects > Members > Member cannot request access to his project' do
describe 'Projects > Members > Member cannot request access to their project' do
let(:member) { create(:user) }
let(:project) { create(:project) }
......
......@@ -2,7 +2,7 @@
require 'spec_helper'
describe 'Projects > Members > Owner cannot request access to his project' do
describe 'Projects > Members > Owner cannot request access to their own project' do
let(:project) { create(:project) }
before do
......
......@@ -5,7 +5,7 @@
describe 'GPG signed commits' do
let(:project) { create(:project, :public, :repository) }
it 'changes from unverified to verified when the user changes his email to match the gpg key', :sidekiq_might_not_need_inline do
it 'changes from unverified to verified when the user changes their email to match the gpg key', :sidekiq_might_not_need_inline do
ref = GpgHelpers::SIGNED_AND_AUTHORED_SHA
user = create(:user, email: 'unrelated.user@example.org')
......@@ -18,7 +18,7 @@
expect(page).to have_button 'Unverified'
expect(page).not_to have_button 'Verified'
# user changes his email which makes the gpg key verified
# user changes their email which makes the gpg key verified
perform_enqueued_jobs do
user.skip_reconfirmation!
user.update!(email: GpgHelpers::User1.emails.first)
......
const devProps = {
id: 7,
name: 'DEV',
state: 'available',
external_url: null,
environment_type: null,
last_deployment: null,
has_stop_action: false,
environment_path: '/root/review-app/environments/7',
stop_path: '/root/review-app/environments/7/stop',
created_at: '2017-01-31T10:53:46.894Z',
updated_at: '2017-01-31T10:53:46.894Z',
};
const buildProps = {
id: 12,
name: 'build/update-README',
state: 'available',
external_url: null,
environment_type: 'build',
last_deployment: null,
has_stop_action: false,
environment_path: '/root/review-app/environments/12',
stop_path: '/root/review-app/environments/12/stop',
created_at: '2017-02-01T19:42:18.400Z',
updated_at: '2017-02-01T19:42:18.400Z',
};
const environment = {
name: 'production',
size: 1,
......@@ -66,6 +94,18 @@ const environment = {
auto_stop_at: null,
};
const environmentsList = [
{
size: 1,
...devProps,
},
{
folderName: 'build',
size: 5,
...buildProps,
},
];
const folder = {
name: 'review',
folderName: 'review',
......@@ -78,6 +118,23 @@ const folder = {
},
};
const serverData = [
{
name: 'DEV',
size: 1,
latest: {
...devProps,
},
},
{
name: 'build',
size: 5,
latest: {
...buildProps,
},
},
];
const tableData = {
name: {
title: 'Environment',
......@@ -108,4 +165,4 @@ const tableData = {
},
};
export { environment, folder, tableData };
export { environment, environmentsList, folder, serverData, tableData };
......@@ -30,43 +30,6 @@ export const environmentsList = [
},
];
export const serverData = [
{
name: 'DEV',
size: 1,
latest: {
id: 7,
name: 'DEV',
state: 'available',
external_url: null,
environment_type: null,
last_deployment: null,
has_stop_action: false,
environment_path: '/root/review-app/environments/7',
stop_path: '/root/review-app/environments/7/stop',
created_at: '2017-01-31T10:53:46.894Z',
updated_at: '2017-01-31T10:53:46.894Z',
},
},
{
name: 'build',
size: 5,
latest: {
id: 12,
name: 'build/update-README',
state: 'available',
external_url: null,
environment_type: 'build',
last_deployment: null,
has_stop_action: false,
environment_path: '/root/review-app/environments/12',
stop_path: '/root/review-app/environments/12/stop',
created_at: '2017-02-01T19:42:18.400Z',
updated_at: '2017-02-01T19:42:18.400Z',
},
},
];
export const environment = {
name: 'DEV',
size: 1,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment