github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/ui/tests/acceptance/behaviors/page-size-select.js (about) 1 import { pluralize } from 'ember-inflector'; 2 import { test } from 'qunit'; 3 import { selectChoose } from 'ember-power-select/test-support'; 4 5 export default function pageSizeSelect({ 6 resourceName, 7 pageObject, 8 pageObjectList, 9 setup, 10 }) { 11 test(`the number of ${pluralize( 12 resourceName 13 )} is equal to the localStorage user setting for page size`, async function (assert) { 14 const storedPageSize = 10; 15 window.localStorage.nomadPageSize = storedPageSize; 16 17 await setup.call(this); 18 19 assert.equal(pageObjectList.length, storedPageSize); 20 assert.equal(pageObject.pageSizeSelect.selectedOption, storedPageSize); 21 }); 22 23 test('when the page size user setting is unset, the default page size is 25', async function (assert) { 24 await setup.call(this); 25 26 assert.equal(pageObjectList.length, pageObject.pageSize); 27 assert.equal(pageObject.pageSizeSelect.selectedOption, pageObject.pageSize); 28 }); 29 30 test(`changing the page size updates the ${pluralize( 31 resourceName 32 )} list and also updates the user setting in localStorage`, async function (assert) { 33 const desiredPageSize = 10; 34 35 await setup.call(this); 36 37 assert.equal(window.localStorage.nomadPageSize, null); 38 assert.equal(pageObjectList.length, pageObject.pageSize); 39 assert.equal(pageObject.pageSizeSelect.selectedOption, pageObject.pageSize); 40 41 await selectChoose('[data-test-page-size-select-parent]', desiredPageSize); 42 43 assert.equal(window.localStorage.nomadPageSize, desiredPageSize); 44 assert.equal(pageObjectList.length, desiredPageSize); 45 assert.equal(pageObject.pageSizeSelect.selectedOption, desiredPageSize); 46 }); 47 }