github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/ui/tests/pages/clients/list.js (about)

     1  import {
     2    attribute,
     3    create,
     4    collection,
     5    clickable,
     6    fillable,
     7    hasClass,
     8    isHidden,
     9    isPresent,
    10    text,
    11    visitable,
    12  } from 'ember-cli-page-object';
    13  
    14  import { multiFacet } from 'nomad-ui/tests/pages/components/facet';
    15  import pageSizeSelect from 'nomad-ui/tests/pages/components/page-size-select';
    16  
    17  export default create({
    18    pageSize: 25,
    19  
    20    visit: visitable('/clients'),
    21  
    22    search: fillable('.search-box input'),
    23  
    24    sortOptions: collection('[data-test-sort-by]', {
    25      id: attribute('data-test-sort-by'),
    26      sort: clickable(),
    27    }),
    28  
    29    sortBy(id) {
    30      return this.sortOptions.toArray().findBy('id', id).sort();
    31    },
    32  
    33    nodes: collection('[data-test-client-node-row]', {
    34      id: text('[data-test-client-id]'),
    35      name: text('[data-test-client-name]'),
    36  
    37      compositeStatus: {
    38        scope: '[data-test-client-composite-status]',
    39  
    40        tooltip: attribute('aria-label', '.tooltip'),
    41  
    42        isInfo: hasClass('is-info', '.status-text'),
    43        isWarning: hasClass('is-warning', '.status-text'),
    44        isUnformatted: isHidden('.status-text'),
    45      },
    46  
    47      address: text('[data-test-client-address]'),
    48      datacenter: text('[data-test-client-datacenter]'),
    49      version: text('[data-test-client-version]'),
    50      allocations: text('[data-test-client-allocations]'),
    51  
    52      clickRow: clickable(),
    53      clickName: clickable('[data-test-client-name] a'),
    54    }),
    55  
    56    hasPagination: isPresent('[data-test-pagination]'),
    57  
    58    isEmpty: isPresent('[data-test-empty-clients-list]'),
    59    empty: {
    60      headline: text('[data-test-empty-clients-list-headline]'),
    61    },
    62  
    63    pageSizeSelect: pageSizeSelect(),
    64  
    65    error: {
    66      isPresent: isPresent('[data-test-error]'),
    67      title: text('[data-test-error-title]'),
    68      message: text('[data-test-error-message]'),
    69      seekHelp: clickable('[data-test-error-message] a'),
    70    },
    71  
    72    facets: {
    73      class: multiFacet('[data-test-class-facet]'),
    74      state: multiFacet('[data-test-state-facet]'),
    75      datacenter: multiFacet('[data-test-datacenter-facet]'),
    76      version: multiFacet('[data-test-version-facet]'),
    77      volume: multiFacet('[data-test-volume-facet]'),
    78    },
    79  });