Change fixtures of old tests

This commit is contained in:
Filipa Lacerda 2017-08-10 16:48:22 +01:00
parent 3008e99562
commit d323bb79eb
7 changed files with 80 additions and 80 deletions

View File

@ -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 &&

View File

@ -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

View File

@ -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() {

View File

@ -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)

View File

@ -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');

View File

@ -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);
});

View File

@ -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,
});