mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-02-24 23:48:13 -05:00
use windowProxy to avoid mangling URL during team acceptance tests
This commit is contained in:
parent
71afd505fa
commit
719c2c3c6e
3 changed files with 21 additions and 2 deletions
|
@ -2,6 +2,7 @@ import Controller from '@ember/controller';
|
||||||
import Ember from 'ember';
|
import Ember from 'ember';
|
||||||
import boundOneWay from 'ghost-admin/utils/bound-one-way';
|
import boundOneWay from 'ghost-admin/utils/bound-one-way';
|
||||||
import isNumber from 'ghost-admin/utils/isNumber';
|
import isNumber from 'ghost-admin/utils/isNumber';
|
||||||
|
import windowProxy from 'ghost-admin/utils/window-proxy';
|
||||||
import {alias, and, not, or, readOnly} from '@ember/object/computed';
|
import {alias, and, not, or, readOnly} from '@ember/object/computed';
|
||||||
import {computed} from '@ember/object';
|
import {computed} from '@ember/object';
|
||||||
import {htmlSafe} from '@ember/string';
|
import {htmlSafe} from '@ember/string';
|
||||||
|
@ -182,7 +183,7 @@ export default Controller.extend({
|
||||||
newPath[newPath.length - 1] = model.get('slug');
|
newPath[newPath.length - 1] = model.get('slug');
|
||||||
newPath = newPath.join('/');
|
newPath = newPath.join('/');
|
||||||
|
|
||||||
window.history.replaceState({path: newPath}, '', newPath);
|
windowProxy.replaceState({path: newPath}, '', newPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.set('dirtyAttributes', false);
|
this.set('dirtyAttributes', false);
|
||||||
|
|
|
@ -5,5 +5,9 @@ export default {
|
||||||
|
|
||||||
replaceLocation(url) {
|
replaceLocation(url) {
|
||||||
window.location.replace(url);
|
window.location.replace(url);
|
||||||
|
},
|
||||||
|
|
||||||
|
replaceState(params, title, url) {
|
||||||
|
window.history.replaceState(params, title, url);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -3,6 +3,7 @@ import ctrlOrCmd from 'ghost-admin/utils/ctrl-or-cmd';
|
||||||
import destroyApp from '../helpers/destroy-app';
|
import destroyApp from '../helpers/destroy-app';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import startApp from '../helpers/start-app';
|
import startApp from '../helpers/start-app';
|
||||||
|
import windowProxy from 'ghost-admin/utils/window-proxy';
|
||||||
import {Response} from 'ember-cli-mirage';
|
import {Response} from 'ember-cli-mirage';
|
||||||
import {afterEach, beforeEach, describe, it} from 'mocha';
|
import {afterEach, beforeEach, describe, it} from 'mocha';
|
||||||
import {authenticateSession, invalidateSession} from '../helpers/ember-simple-auth';
|
import {authenticateSession, invalidateSession} from '../helpers/ember-simple-auth';
|
||||||
|
@ -449,7 +450,7 @@ describe('Acceptance: Team', function () {
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('existing user', function () {
|
describe('existing user', function () {
|
||||||
let user;
|
let user, newLocation, originalReplaceState;
|
||||||
|
|
||||||
beforeEach(function () {
|
beforeEach(function () {
|
||||||
user = server.create('user', {
|
user = server.create('user', {
|
||||||
|
@ -458,6 +459,16 @@ describe('Acceptance: Team', function () {
|
||||||
facebook: 'test',
|
facebook: 'test',
|
||||||
twitter: '@test'
|
twitter: '@test'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
originalReplaceState = windowProxy.replaceState;
|
||||||
|
windowProxy.replaceState = function (params, title, url) {
|
||||||
|
newLocation = url;
|
||||||
|
};
|
||||||
|
newLocation = undefined;
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(function () {
|
||||||
|
windowProxy.replaceState = originalReplaceState;
|
||||||
});
|
});
|
||||||
|
|
||||||
it('input fields reset and validate correctly', async function () {
|
it('input fields reset and validate correctly', async function () {
|
||||||
|
@ -511,6 +522,9 @@ describe('Acceptance: Team', function () {
|
||||||
|
|
||||||
expect(params.users[0].name).to.equal('Test User');
|
expect(params.users[0].name).to.equal('Test User');
|
||||||
|
|
||||||
|
// check that the history state has been updated
|
||||||
|
expect(newLocation).to.equal('Test User');
|
||||||
|
|
||||||
await fillIn('[data-test-slug-input]', 'white space');
|
await fillIn('[data-test-slug-input]', 'white space');
|
||||||
await triggerEvent('[data-test-slug-input]', 'blur');
|
await triggerEvent('[data-test-slug-input]', 'blur');
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue