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
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-11-26 15:06:18 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2019-11-26 15:06:18 +0300
commit6a4ffad42050949fcf08e78147575734ae99627e (patch)
tree723bb2480948ba4ec29ca9ac10f8728dc2a831b6 /spec/frontend
parent23d237110e6a646dec08e1f5b4696d2d9c51cfef (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/frontend')
-rw-r--r--spec/frontend/performance_bar/components/request_selector_spec.js41
-rw-r--r--spec/frontend/performance_bar/stores/performance_bar_store_spec.js45
2 files changed, 49 insertions, 37 deletions
diff --git a/spec/frontend/performance_bar/components/request_selector_spec.js b/spec/frontend/performance_bar/components/request_selector_spec.js
index a4ed55fbf15..42ccb1f1b5c 100644
--- a/spec/frontend/performance_bar/components/request_selector_spec.js
+++ b/spec/frontend/performance_bar/components/request_selector_spec.js
@@ -4,23 +4,9 @@ import { shallowMount } from '@vue/test-utils';
describe('request selector', () => {
const requests = [
{
- id: '123',
- url: 'https://gitlab.com/',
- hasWarnings: false,
- },
- {
- id: '456',
- url: 'https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/1',
- hasWarnings: false,
- },
- {
- id: '789',
- url: 'https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/1.json?serializer=widget',
- hasWarnings: false,
- },
- {
- id: 'abc',
+ id: 'warningReq',
url: 'https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/1/discussions.json',
+ truncatedUrl: 'discussions.json',
hasWarnings: true,
},
];
@@ -28,35 +14,16 @@ describe('request selector', () => {
const wrapper = shallowMount(RequestSelector, {
propsData: {
requests,
- currentRequest: requests[1],
+ currentRequest: requests[0],
},
});
- function optionText(requestId) {
- return wrapper
- .find(`[value='${requestId}']`)
- .text()
- .trim();
- }
-
- it('displays the last component of the path', () => {
- expect(optionText(requests[2].id)).toEqual('1.json?serializer=widget');
- });
-
- it('keeps the last two components of the path when the last component is numeric', () => {
- expect(optionText(requests[1].id)).toEqual('merge_requests/1');
- });
-
- it('ignores trailing slashes', () => {
- expect(optionText(requests[0].id)).toEqual('gitlab.com');
- });
-
it('has a warning icon if any requests have warnings', () => {
expect(wrapper.find('span > gl-emoji').element.dataset.name).toEqual('warning');
});
it('adds a warning glyph to requests with warnings', () => {
- const requestValue = wrapper.find('[value="abc"]').text();
+ const requestValue = wrapper.find('[value="warningReq"]').text();
expect(requestValue).toContain('discussions.json');
expect(requestValue).toContain('(!)');
diff --git a/spec/frontend/performance_bar/stores/performance_bar_store_spec.js b/spec/frontend/performance_bar/stores/performance_bar_store_spec.js
new file mode 100644
index 00000000000..686029a28a9
--- /dev/null
+++ b/spec/frontend/performance_bar/stores/performance_bar_store_spec.js
@@ -0,0 +1,45 @@
+import PerformanceBarStore from '~/performance_bar/stores/performance_bar_store';
+
+describe('PerformanceBarStore', () => {
+ describe('truncateUrl', () => {
+ let store;
+ const findUrl = id => store.findRequest(id).truncatedUrl;
+
+ beforeEach(() => {
+ store = new PerformanceBarStore();
+ });
+
+ it('ignores trailing slashes', () => {
+ store.addRequest('id', 'https://gitlab.com/');
+ expect(findUrl('id')).toEqual('gitlab.com');
+ });
+
+ it('keeps the last two components of the path when the last component is numeric', () => {
+ store.addRequest('id', 'https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/1');
+ expect(findUrl('id')).toEqual('merge_requests/1');
+ });
+
+ it('uses the last component of the path', () => {
+ store.addRequest(
+ 'id',
+ 'https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/1.json?serializer=widget',
+ );
+ expect(findUrl('id')).toEqual('1.json?serializer=widget');
+ });
+
+ it('keeps query components', () => {
+ store.addRequest('id', 'http://localhost:3001/h5bp/html5-boilerplate/?param');
+ expect(findUrl('id')).toEqual('html5-boilerplate?param');
+ });
+
+ it('keeps components when query contains a slash', () => {
+ store.addRequest('id', 'http://localhost:3001/h5bp/html5-boilerplate?trunc/ated');
+ expect(findUrl('id')).toEqual('html5-boilerplate?trunc/ated');
+ });
+
+ it('ignores fragments', () => {
+ store.addRequest('id', 'http://localhost:3001/h5bp/html5-boilerplate/#frag/ment');
+ expect(findUrl('id')).toEqual('html5-boilerplate');
+ });
+ });
+});