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  }