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