Change fixtures of old tests
This commit is contained in:
parent
3008e99562
commit
d323bb79eb
|
@ -79,16 +79,18 @@
|
|||
return note.individual_note ? note.notes[0] : note;
|
||||
},
|
||||
fetchNotes() {
|
||||
this.actionFetchNotes(this.getNotesDataByProp('discussionsPath'))
|
||||
return this.actionFetchNotes(this.getNotesDataByProp('discussionsPath'))
|
||||
.then(() => {
|
||||
this.isLoading = false;
|
||||
|
||||
// Scroll to note if we have hash fragment in the page URL
|
||||
this.$nextTick(() => {
|
||||
this.checkLocationHash();
|
||||
});
|
||||
})
|
||||
.catch(() => Flash('Something went wrong while fetching issue comments. Please try again.'));
|
||||
.catch(() => Flash('Something went wrong while fetching issue comments. Please try again.'))
|
||||
.then(() => {
|
||||
this.isLoading = false;
|
||||
this.initPolling();
|
||||
});
|
||||
},
|
||||
initPolling() {
|
||||
this.setLastFetchedAt(this.getNotesDataByProp('lastFetchedAt'));
|
||||
|
@ -112,7 +114,6 @@
|
|||
},
|
||||
mounted() {
|
||||
this.fetchNotes();
|
||||
this.initPolling();
|
||||
const parentElement = this.$el.parentElement;
|
||||
|
||||
if (parentElement &&
|
||||
|
|
|
@ -13,7 +13,6 @@ feature 'Issue notes polling', :js do
|
|||
|
||||
it 'displays the new comment' do
|
||||
note = create(:note, noteable: issue, project: project, note: 'Looks good!')
|
||||
page.execute_script('issueNotes.refresh();')
|
||||
wait_for_requests
|
||||
|
||||
expect(page).to have_selector("#note_#{note.id}", text: 'Looks good!')
|
||||
|
@ -115,7 +114,6 @@ feature 'Issue notes polling', :js do
|
|||
|
||||
def update_note(note, new_text)
|
||||
note.update(note: new_text)
|
||||
page.execute_script('issueNotes.refresh();')
|
||||
wait_for_requests
|
||||
end
|
||||
|
||||
|
|
|
@ -25,10 +25,10 @@ import '~/lib/utils/common_utils';
|
|||
};
|
||||
|
||||
describe('AwardsHandler', function() {
|
||||
preloadFixtures('issues/issue_with_comment.html.raw');
|
||||
preloadFixtures('merge_requests/diff_comment.html.raw');
|
||||
beforeEach(function(done) {
|
||||
loadFixtures('issues/issue_with_comment.html.raw');
|
||||
$('body').data('page', 'projects:issues:show');
|
||||
loadFixtures('merge_requests/diff_comment.html.raw');
|
||||
$('body').data('page', 'projects:merge_requests:show');
|
||||
loadAwardsHandler(true).then((obj) => {
|
||||
awardsHandler = obj;
|
||||
spyOn(awardsHandler, 'postEmoji').and.callFake((button, url, emoji, cb) => cb());
|
||||
|
@ -140,7 +140,7 @@ import '~/lib/utils/common_utils';
|
|||
});
|
||||
describe('::getAwardUrl', function() {
|
||||
return it('returns the url for request', function() {
|
||||
return expect(awardsHandler.getAwardUrl()).toBe('http://test.host/frontend-fixtures/issues-project/issues/1/toggle_award_emoji');
|
||||
return expect(awardsHandler.getAwardUrl()).toBe('http://test.host/frontend-fixtures/merge-requests-project/merge_requests/1/toggle_award_emoji');
|
||||
});
|
||||
});
|
||||
describe('::addAward and ::checkMutuality', function() {
|
||||
|
|
|
@ -55,6 +55,11 @@ describe Projects::MergeRequestsController, '(JavaScript fixtures)', type: :cont
|
|||
render_merge_request(example.description, merge_request)
|
||||
end
|
||||
|
||||
it 'merge_requests/merge_request_with_comment.html.raw' do |example|
|
||||
create(:note_on_merge_request, author: admin, project: project, noteable: merge_request, note: '- [ ] Task List Item')
|
||||
render_merge_request(example.description, merge_request)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def render_merge_request(fixture_file_name, merge_request)
|
||||
|
|
|
@ -30,16 +30,16 @@ import '~/notes';
|
|||
return escapedString;
|
||||
};
|
||||
|
||||
describe('Notes', function() {
|
||||
fdescribe('Notes', function() {
|
||||
const FLASH_TYPE_ALERT = 'alert';
|
||||
var commentsTemplate = 'issues/issue_with_comment.html.raw';
|
||||
var commentsTemplate = 'merge_requests/merge_request_with_comment.html.raw';
|
||||
preloadFixtures(commentsTemplate);
|
||||
|
||||
beforeEach(function () {
|
||||
loadFixtures(commentsTemplate);
|
||||
gl.utils.disableButtonIfEmptyField = _.noop;
|
||||
window.project_uploads_path = 'http://test.host/uploads';
|
||||
$('body').data('page', 'projects:issues:show');
|
||||
$('body').data('page', 'projects:merge_requets:show');
|
||||
});
|
||||
|
||||
describe('task lists', function() {
|
||||
|
@ -60,7 +60,7 @@ import '~/notes';
|
|||
it('submits an ajax request on tasklist:changed', function() {
|
||||
spyOn(jQuery, 'ajax').and.callFake(function(req) {
|
||||
expect(req.type).toBe('PATCH');
|
||||
expect(req.url).toBe('http://test.host/frontend-fixtures/issues-project/notes/1');
|
||||
expect(req.url).toBe('http://test.host/frontend-fixtures/merge-requests-project/notes/3');
|
||||
return expect(req.data.note).not.toBe(null);
|
||||
});
|
||||
$('.js-task-list-field').trigger('tasklist:changed');
|
||||
|
|
|
@ -1,78 +1,74 @@
|
|||
/* eslint-disable space-before-function-paren, no-return-assign, no-var, quotes */
|
||||
/* global ShortcutsIssuable */
|
||||
|
||||
import '~/copy_as_gfm';
|
||||
import '~/shortcuts_issuable';
|
||||
|
||||
(function() {
|
||||
describe('ShortcutsIssuable', function() {
|
||||
var fixtureName = 'issues/open-issue.html.raw';
|
||||
preloadFixtures(fixtureName);
|
||||
beforeEach(function() {
|
||||
loadFixtures(fixtureName);
|
||||
document.querySelector('.js-new-note-form').classList.add('js-main-target-form');
|
||||
this.shortcut = new ShortcutsIssuable();
|
||||
});
|
||||
describe('replyWithSelectedText', function() {
|
||||
var stubSelection;
|
||||
// Stub window.gl.utils.getSelectedFragment to return a node with the provided HTML.
|
||||
stubSelection = function(html) {
|
||||
window.gl.utils.getSelectedFragment = function() {
|
||||
var node = document.createElement('div');
|
||||
node.innerHTML = html;
|
||||
return node;
|
||||
};
|
||||
describe('ShortcutsIssuable', () => {
|
||||
const fixtureName = 'merge_requests/diff_comment.html.raw';
|
||||
preloadFixtures(fixtureName);
|
||||
beforeEach(() => {
|
||||
loadFixtures(fixtureName);
|
||||
document.querySelector('.js-new-note-form').classList.add('js-main-target-form');
|
||||
this.shortcut = new ShortcutsIssuable();
|
||||
});
|
||||
describe('replyWithSelectedText', () => {
|
||||
// Stub window.gl.utils.getSelectedFragment to return a node with the provided HTML.
|
||||
const stubSelection = (html) => {
|
||||
window.gl.utils.getSelectedFragment = () => {
|
||||
const node = document.createElement('div');
|
||||
node.innerHTML = html;
|
||||
return node;
|
||||
};
|
||||
beforeEach(function() {
|
||||
this.selector = 'form.js-main-target-form textarea#note-body';
|
||||
};
|
||||
beforeEach(() => {
|
||||
this.selector = 'form.js-main-target-form textarea#note-body';
|
||||
});
|
||||
describe('with empty selection', () => {
|
||||
it('does not return an error', () => {
|
||||
this.shortcut.replyWithSelectedText();
|
||||
expect($(this.selector).val()).toBe('');
|
||||
});
|
||||
describe('with empty selection', function() {
|
||||
it('does not return an error', function() {
|
||||
this.shortcut.replyWithSelectedText();
|
||||
expect($(this.selector).val()).toBe('');
|
||||
});
|
||||
it('triggers `focus`', function() {
|
||||
this.shortcut.replyWithSelectedText();
|
||||
expect(document.activeElement).toBe(document.querySelector(this.selector));
|
||||
});
|
||||
it('triggers `focus`', () => {
|
||||
this.shortcut.replyWithSelectedText();
|
||||
expect(document.activeElement).toBe(document.querySelector(this.selector));
|
||||
});
|
||||
describe('with any selection', function() {
|
||||
beforeEach(function() {
|
||||
stubSelection('<p>Selected text.</p>');
|
||||
});
|
||||
it('leaves existing input intact', function() {
|
||||
$(this.selector).val('This text was already here.');
|
||||
expect($(this.selector).val()).toBe('This text was already here.');
|
||||
this.shortcut.replyWithSelectedText();
|
||||
expect($(this.selector).val()).toBe("This text was already here.\n\n> Selected text.\n\n");
|
||||
});
|
||||
it('triggers `input`', function() {
|
||||
var triggered = false;
|
||||
$(this.selector).on('input', function() {
|
||||
triggered = true;
|
||||
});
|
||||
this.shortcut.replyWithSelectedText();
|
||||
expect(triggered).toBe(true);
|
||||
});
|
||||
it('triggers `focus`', function() {
|
||||
this.shortcut.replyWithSelectedText();
|
||||
expect(document.activeElement).toBe(document.querySelector(this.selector));
|
||||
});
|
||||
});
|
||||
describe('with any selection', () => {
|
||||
beforeEach(() => {
|
||||
stubSelection('<p>Selected text.</p>');
|
||||
});
|
||||
describe('with a one-line selection', function() {
|
||||
it('quotes the selection', function() {
|
||||
stubSelection('<p>This text has been selected.</p>');
|
||||
this.shortcut.replyWithSelectedText();
|
||||
expect($(this.selector).val()).toBe("> This text has been selected.\n\n");
|
||||
});
|
||||
it('leaves existing input intact', () => {
|
||||
$(this.selector).val('This text was already here.');
|
||||
expect($(this.selector).val()).toBe('This text was already here.');
|
||||
this.shortcut.replyWithSelectedText();
|
||||
expect($(this.selector).val()).toBe('This text was already here.\n\n> Selected text.\n\n');
|
||||
});
|
||||
describe('with a multi-line selection', function() {
|
||||
it('quotes the selected lines as a group', function() {
|
||||
stubSelection("<p>Selected line one.</p>\n\n<p>Selected line two.</p>\n\n<p>Selected line three.</p>");
|
||||
this.shortcut.replyWithSelectedText();
|
||||
expect($(this.selector).val()).toBe("> Selected line one.\n>\n> Selected line two.\n>\n> Selected line three.\n\n");
|
||||
it('triggers `input`', () => {
|
||||
let triggered = false;
|
||||
$(this.selector).on('input', () => {
|
||||
triggered = true;
|
||||
});
|
||||
this.shortcut.replyWithSelectedText();
|
||||
expect(triggered).toBe(true);
|
||||
});
|
||||
it('triggers `focus`', () => {
|
||||
this.shortcut.replyWithSelectedText();
|
||||
expect(document.activeElement).toBe(document.querySelector(this.selector));
|
||||
});
|
||||
});
|
||||
describe('with a one-line selection', () => {
|
||||
it('quotes the selection', () => {
|
||||
stubSelection('<p>This text has been selected.</p>');
|
||||
this.shortcut.replyWithSelectedText();
|
||||
expect($(this.selector).val()).toBe('> This text has been selected.\n\n');
|
||||
});
|
||||
});
|
||||
describe('with a multi-line selection', () => {
|
||||
it('quotes the selected lines as a group', () => {
|
||||
stubSelection('<p>Selected line one.</p>\n\n<p>Selected line two.</p>\n\n<p>Selected line three.</p>');
|
||||
this.shortcut.replyWithSelectedText();
|
||||
expect($(this.selector).val()).toBe('> Selected line one.\n>\n> Selected line two.\n>\n> Selected line three.\n\n');
|
||||
});
|
||||
});
|
||||
});
|
||||
}).call(window);
|
||||
});
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* global Shortcuts */
|
||||
describe('Shortcuts', () => {
|
||||
const fixtureName = 'issues/issue_with_comment.html.raw';
|
||||
const fixtureName = 'merge_requests/diff_comment.html.raw';
|
||||
const createEvent = (type, target) => $.Event(type, {
|
||||
target,
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue