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  }