summaryrefslogtreecommitdiff
path: root/spec/frontend/blob_edit
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-04-01 18:07:56 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-04-01 18:07:56 +0000
commit33aa02e7a38d8dfc5e470dd5d776c8d4ce5b2dd5 (patch)
tree8cd2bc4711d3a017d839760c7fbea267e2ba4951 /spec/frontend/blob_edit
parent1219a9dce91f4edbc135dfc08299b4122b4825a8 (diff)
downloadgitlab-ce-33aa02e7a38d8dfc5e470dd5d776c8d4ce5b2dd5.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/frontend/blob_edit')
-rw-r--r--spec/frontend/blob_edit/blob_bundle_spec.js67
1 files changed, 54 insertions, 13 deletions
diff --git a/spec/frontend/blob_edit/blob_bundle_spec.js b/spec/frontend/blob_edit/blob_bundle_spec.js
index be438781850..f5cd623ebce 100644
--- a/spec/frontend/blob_edit/blob_bundle_spec.js
+++ b/spec/frontend/blob_edit/blob_bundle_spec.js
@@ -1,31 +1,72 @@
import $ from 'jquery';
import blobBundle from '~/blob_edit/blob_bundle';
+import { mockTracking, unmockTracking } from 'helpers/tracking_helper';
jest.mock('~/blob_edit/edit_blob');
describe('BlobBundle', () => {
- beforeEach(() => {
- setFixtures(`
+ describe('No Suggest Popover', () => {
+ beforeEach(() => {
+ setFixtures(`
<div class="js-edit-blob-form" data-blob-filename="blah">
<button class="js-commit-button"></button>
<a class="btn btn-cancel" href="#"></a>
</div>`);
- blobBundle();
- });
- it('sets the window beforeunload listener to a function returning a string', () => {
- expect(window.onbeforeunload()).toBe('');
- });
+ blobBundle();
+ });
+
+ it('sets the window beforeunload listener to a function returning a string', () => {
+ expect(window.onbeforeunload()).toBe('');
+ });
- it('removes beforeunload listener if commit button is clicked', () => {
- $('.js-commit-button').click();
+ it('removes beforeunload listener if commit button is clicked', () => {
+ $('.js-commit-button').click();
- expect(window.onbeforeunload).toBeNull();
+ expect(window.onbeforeunload).toBeNull();
+ });
+
+ it('removes beforeunload listener when cancel link is clicked', () => {
+ $('.btn.btn-cancel').click();
+
+ expect(window.onbeforeunload).toBeNull();
+ });
});
- it('removes beforeunload listener when cancel link is clicked', () => {
- $('.btn.btn-cancel').click();
+ describe('Suggest Popover', () => {
+ let trackingSpy;
+
+ beforeEach(() => {
+ setFixtures(`
+ <div class="js-edit-blob-form" data-blob-filename="blah" id="target">
+ <div class="js-suggest-gitlab-ci-yml"
+ data-target="#target"
+ data-track-label="suggest_gitlab_ci_yml"
+ data-dismiss-key="1"
+ data-human-access="owner">
+ <button id='commit-changes' class="js-commit-button"></button>
+ <a class="btn btn-cancel" href="#"></a>
+ </div>
+ </div>`);
+
+ trackingSpy = mockTracking('_category_', $('#commit-changes').element, jest.spyOn);
+ document.body.dataset.page = 'projects:blob:new';
+
+ blobBundle();
+ });
+
+ afterEach(() => {
+ unmockTracking();
+ });
+
+ it('sends a tracking event when the commit button is clicked', () => {
+ $('#commit-changes').click();
- expect(window.onbeforeunload).toBeNull();
+ expect(trackingSpy).toHaveBeenCalledTimes(1);
+ expect(trackingSpy).toHaveBeenCalledWith(undefined, undefined, {
+ label: 'suggest_gitlab_ci_yml',
+ property: 'owner',
+ });
+ });
});
});