github.com/Ilhicas/nomad@v1.0.4-0.20210304152020-e86851182bc3/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 facet 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
    31        .toArray()
    32        .findBy('id', id)
    33        .sort();
    34    },
    35  
    36    nodes: collection('[data-test-client-node-row]', {
    37      id: text('[data-test-client-id]'),
    38      name: text('[data-test-client-name]'),
    39  
    40      compositeStatus: {
    41        scope: '[data-test-client-composite-status]',
    42  
    43        tooltip: attribute('aria-label', '.tooltip'),
    44  
    45        isInfo: hasClass('is-info', '.status-text'),
    46        isWarning: hasClass('is-warning', '.status-text'),
    47        isUnformatted: isHidden('.status-text'),
    48      },
    49  
    50      address: text('[data-test-client-address]'),
    51      datacenter: text('[data-test-client-datacenter]'),
    52      allocations: text('[data-test-client-allocations]'),
    53  
    54      clickRow: clickable(),
    55      clickName: clickable('[data-test-client-name] a'),
    56    }),
    57  
    58    hasPagination: isPresent('[data-test-pagination]'),
    59  
    60    isEmpty: isPresent('[data-test-empty-clients-list]'),
    61    empty: {
    62      headline: text('[data-test-empty-clients-list-headline]'),
    63    },
    64  
    65    pageSizeSelect: pageSizeSelect(),
    66  
    67    error: {
    68      isPresent: isPresent('[data-test-error]'),
    69      title: text('[data-test-error-title]'),
    70      message: text('[data-test-error-message]'),
    71      seekHelp: clickable('[data-test-error-message] a'),
    72    },
    73  
    74    facets: {
    75      class: facet('[data-test-class-facet]'),
    76      state: facet('[data-test-state-facet]'),
    77      datacenter: facet('[data-test-datacenter-facet]'),
    78      volume: facet('[data-test-volume-facet]'),
    79    },
    80  });