2019-08-31 20:51:14 -07:00

77 lines
1.7 KiB
TypeScript

import { module, test } from 'qunit';
import { setupRenderingTest } from 'ember-qunit';
import { render } from '@ember/test-helpers';
import hbs from 'htmlbars-inline-precompile';
import { getTextNoSpaces } from '@datahub/utils/test-helpers/dom-helpers';
import { setProperties } from '@ember/object';
import { TestContext } from 'ember-test-helpers';
interface INachoPaginagionTestContext extends TestContext {
currentPage: number;
totalPages: number;
}
const myTests = [
{
expected: 'Previous1234...6Next',
params: {
currentPage: 1,
totalPages: 6
}
},
{
expected: 'Previous1Next',
params: {
currentPage: 1,
totalPages: 1
}
},
{
expected: 'Previous12Next',
params: {
currentPage: 1,
totalPages: 2
}
},
{
expected: 'Previous123Next',
params: {
currentPage: 1,
totalPages: 3
}
},
{
expected: 'Previous1234Next',
params: {
currentPage: 1,
totalPages: 4
}
},
{
expected: 'Previous1...78910111213...20Next',
params: {
currentPage: 10,
totalPages: 20
}
}
];
module('Integration | Component | nacho/nacho-pagination', function(hooks) {
setupRenderingTest(hooks);
test('it renders', async function(this: INachoPaginagionTestContext, assert) {
await myTests.reduce(async (promise, myTest) => {
await promise;
setProperties(this, myTest.params);
await render(hbs`
{{nacho/nacho-pagination
currentPage=currentPage
totalPages=totalPages
linkTo=(hash route="someroute")
}}
`);
assert.equal(getTextNoSpaces(this), myTest.expected);
}, {});
});
});