Commit 0b1c796f authored by GitLab Bot's avatar GitLab Bot

Merge remote-tracking branch 'upstream/master' into ce-to-ee-2018-04-25

parents 67b18509 e6f6f8e7
......@@ -29,7 +29,7 @@
docker login #{Gitlab.config.registry.host_port}
%br
%p
- deploy_token = link_to(_('deploy token'), help_page_path('user/projects/deploy_tokens/index', anchor: 'read-container-registry-images'), target: '_blank')
- deploy_token = link_to(_('deploy token'), help_page_path('user/project/deploy_tokens/index', anchor: 'read-container-registry-images'), target: '_blank')
= s_('ContainerRegistry|You can also %{deploy_token} for read-only access to the registry images.').html_safe % { deploy_token: deploy_token }
%br
%p
......
require_dependency File.expand_path('../../lib/gitlab', __dir__) # Load Gitlab as soon as possible
require_relative '../settings'
# Default settings
Settings['ldap'] ||= Settingslogic.new({})
......
require_relative '../../lib/gitlab'
require_dependency 'settings'
require_dependency 'gitlab/popen'
module Gitlab
......
......@@ -9,7 +9,8 @@ unless Object.respond_to?(:require_dependency)
end
end
# Defines Gitlab and Gitlab.config which are at the center of the app
# Defines Settings and Gitlab.config which are at the center of the app
require_relative '../config/settings'
require_relative '../lib/gitlab' unless defined?(Gitlab.config)
require_relative 'support/rspec'
......@@ -3,24 +3,30 @@
import $ from 'jquery';
import 'vendor/jquery.endless-scroll';
import Activities from '~/activities';
import Pager from '~/pager';
(() => {
describe('Activities', () => {
window.gon || (window.gon = {});
const fixtureTemplate = 'static/event_filter.html.raw';
const filters = [
{
id: 'all',
}, {
},
{
id: 'push',
name: 'push events',
}, {
},
{
id: 'merged',
name: 'merge events',
}, {
},
{
id: 'comments',
}, {
},
{
id: 'team',
}];
},
];
function getEventName(index) {
const filter = filters[index];
......@@ -32,31 +38,34 @@ import Activities from '~/activities';
return `#${filter.id}_event_filter`;
}
describe('Activities', () => {
beforeEach(() => {
loadFixtures(fixtureTemplate);
new Activities();
});
for (let i = 0; i < filters.length; i += 1) {
((i) => {
describe(`when selecting ${getEventName(i)}`, () => {
beforeEach(() => {
$(getSelector(i)).click();
});
for (let x = 0; x < filters.length; x += 1) {
((x) => {
const shouldHighlight = i === x;
const testName = shouldHighlight ? 'should highlight' : 'should not highlight';
it(`${testName} ${getEventName(x)}`, () => {
expect($(getSelector(x)).parent().hasClass('active')).toEqual(shouldHighlight);
});
})(x);
}
});
})(i);
}
beforeEach(() => {
loadFixtures(fixtureTemplate);
spyOn(Pager, 'init').and.stub();
new Activities();
});
})();
for (let i = 0; i < filters.length; i += 1) {
(i => {
describe(`when selecting ${getEventName(i)}`, () => {
beforeEach(() => {
$(getSelector(i)).click();
});
for (let x = 0; x < filters.length; x += 1) {
(x => {
const shouldHighlight = i === x;
const testName = shouldHighlight ? 'should highlight' : 'should not highlight';
it(`${testName} ${getEventName(x)}`, () => {
expect(
$(getSelector(x))
.parent()
.hasClass('active'),
).toEqual(shouldHighlight);
});
})(x);
}
});
})(i);
}
});
......@@ -3,6 +3,7 @@ import 'vendor/jquery.endless-scroll';
import MockAdapter from 'axios-mock-adapter';
import axios from '~/lib/utils/axios_utils';
import CommitsList from '~/commits';
import Pager from '~/pager';
describe('Commits List', () => {
let commitsList;
......@@ -14,6 +15,7 @@ describe('Commits List', () => {
</form>
<ol id="commits-list"></ol>
`);
spyOn(Pager, 'init').and.stub();
commitsList = new CommitsList(25);
});
......@@ -68,9 +70,10 @@ describe('Commits List', () => {
mock.restore();
});
it('should save the last search string', (done) => {
it('should save the last search string', done => {
commitsList.searchField.val('GitLab');
commitsList.filterResults()
commitsList
.filterResults()
.then(() => {
expect(ajaxSpy).toHaveBeenCalled();
expect(commitsList.lastSearch).toEqual('GitLab');
......@@ -80,8 +83,9 @@ describe('Commits List', () => {
.catch(done.fail);
});
it('should not make ajax call if the input does not change', (done) => {
commitsList.filterResults()
it('should not make ajax call if the input does not change', done => {
commitsList
.filterResults()
.then(() => {
expect(ajaxSpy).not.toHaveBeenCalled();
expect(commitsList.lastSearch).toEqual('');
......
import $ from 'jquery';
import MockAdapter from 'axios-mock-adapter';
import axios from '~/lib/utils/axios_utils';
import Pager from '~/pager';
describe('pager', () => {
let axiosMock;
beforeEach(() => {
axiosMock = new MockAdapter(axios);
});
afterEach(() => {
axiosMock.restore();
});
describe('init', () => {
const originalHref = window.location.href;
beforeEach(() => {
setFixtures('<div class="content_list"></div><div class="loading"></div>');
spyOn($.fn, 'endlessScroll').and.stub();
});
afterEach(() => {
......@@ -46,33 +58,28 @@ describe('pager', () => {
describe('getOld', () => {
const urlRegex = /(.*)some_list(.*)$/;
let mock;
function mockSuccess() {
mock.onGet(urlRegex).reply(200, {
axiosMock.onGet(urlRegex).reply(200, {
count: 0,
html: '',
});
}
function mockError() {
mock.onGet(urlRegex).networkError();
axiosMock.onGet(urlRegex).networkError();
}
beforeEach(() => {
setFixtures('<div class="content_list" data-href="/some_list"></div><div class="loading"></div>');
setFixtures(
'<div class="content_list" data-href="/some_list"></div><div class="loading"></div>',
);
spyOn(axios, 'get').and.callThrough();
mock = new MockAdapter(axios);
Pager.init();
});
afterEach(() => {
mock.restore();
});
it('shows loader while loading next page', (done) => {
it('shows loader while loading next page', done => {
mockSuccess();
spyOn(Pager.loading, 'show');
......@@ -85,7 +92,7 @@ describe('pager', () => {
});
});
it('hides loader on success', (done) => {
it('hides loader on success', done => {
mockSuccess();
spyOn(Pager.loading, 'hide');
......@@ -98,7 +105,7 @@ describe('pager', () => {
});
});
it('hides loader on error', (done) => {
it('hides loader on error', done => {
mockError();
spyOn(Pager.loading, 'hide');
......@@ -111,7 +118,7 @@ describe('pager', () => {
});
});
it('sends request to url with offset and limit params', (done) => {
it('sends request to url with offset and limit params', done => {
Pager.offset = 100;
Pager.limit = 20;
Pager.getOld();
......
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