mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-21 18:01:36 +03:00
d6c22df6d7
no issue - added `page` model - removed `page` param from Post model - added pages screen with associated links - added `:type` param to editor screens to work with the right models - removed post<->page toggle and associated tour item
90 lines
2.6 KiB
JavaScript
90 lines
2.6 KiB
JavaScript
import hbs from 'htmlbars-inline-precompile';
|
|
import mockThemes from '../../../mirage/config/themes';
|
|
import wait from 'ember-test-helpers/wait';
|
|
import {describe, it} from 'mocha';
|
|
import {expect} from 'chai';
|
|
import {find, render} from '@ember/test-helpers';
|
|
import {setupRenderingTest} from 'ember-mocha';
|
|
import {startMirage} from 'ghost-admin/initializers/ember-cli-mirage';
|
|
|
|
describe('Integration: Component: gh-psm-template-select', function () {
|
|
setupRenderingTest();
|
|
|
|
let server;
|
|
|
|
beforeEach(function () {
|
|
server = startMirage();
|
|
|
|
server.create('theme', {
|
|
active: true,
|
|
name: 'example-theme',
|
|
package: {
|
|
name: 'Example Theme',
|
|
version: '0.1'
|
|
},
|
|
templates: [
|
|
{
|
|
filename: 'custom-news-bulletin.hbs',
|
|
name: 'News Bulletin',
|
|
for: ['post', 'page'],
|
|
slug: null
|
|
},
|
|
{
|
|
filename: 'custom-big-images.hbs',
|
|
name: 'Big Images',
|
|
for: ['post', 'page'],
|
|
slug: null
|
|
},
|
|
{
|
|
filename: 'post-one.hbs',
|
|
name: 'One',
|
|
for: ['post'],
|
|
slug: 'one'
|
|
},
|
|
{
|
|
filename: 'page-about.hbs',
|
|
name: 'About',
|
|
for: ['page'],
|
|
slug: 'about'
|
|
}
|
|
]
|
|
});
|
|
|
|
mockThemes(server);
|
|
});
|
|
|
|
afterEach(function () {
|
|
server.shutdown();
|
|
});
|
|
|
|
it('disables template selector if slug matches post template', async function () {
|
|
this.set('post', {
|
|
slug: 'one',
|
|
constructor: {
|
|
modelName: 'post'
|
|
}
|
|
});
|
|
|
|
await render(hbs`{{gh-psm-template-select post=post}}`);
|
|
await wait();
|
|
|
|
expect(find('select').disabled, 'select is disabled').to.be.true;
|
|
expect(find('p')).to.contain.text('post-one.hbs');
|
|
});
|
|
|
|
it('disables template selector if slug matches page template', async function () {
|
|
this.set('post', {
|
|
slug: 'about',
|
|
constructor: {
|
|
modelName: 'page'
|
|
}
|
|
});
|
|
|
|
await render(hbs`{{gh-psm-template-select post=post}}`);
|
|
await wait();
|
|
|
|
expect(find('select').disabled, 'select is disabled').to.be.true;
|
|
expect(find('p')).to.contain.text('page-about.hbs');
|
|
});
|
|
});
|