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

     1  import {
     2    attribute,
     3    create,
     4    collection,
     5    clickable,
     6    isPresent,
     7    property,
     8    text,
     9    triggerable,
    10    visitable,
    11  } from 'ember-cli-page-object';
    12  
    13  import { multiFacet, singleFacet } from 'nomad-ui/tests/pages/components/facet';
    14  import pageSizeSelect from 'nomad-ui/tests/pages/components/page-size-select';
    15  
    16  export default create({
    17    pageSize: 25,
    18  
    19    visit: visitable('/jobs'),
    20  
    21    search: {
    22      scope: '[data-test-jobs-search] input',
    23      keydown: triggerable('keydown'),
    24    },
    25  
    26    runJobButton: {
    27      scope: '[data-test-run-job]',
    28      isDisabled: property('disabled'),
    29    },
    30  
    31    jobs: collection('[data-test-job-row]', {
    32      id: attribute('data-test-job-row'),
    33      name: text('[data-test-job-name]'),
    34      namespace: text('[data-test-job-namespace]'),
    35      link: attribute('href', '[data-test-job-name] a'),
    36      status: text('[data-test-job-status]'),
    37      type: text('[data-test-job-type]'),
    38      priority: text('[data-test-job-priority]'),
    39      taskGroups: text('[data-test-job-task-groups]'),
    40  
    41      hasNamespace: isPresent('[data-test-job-namespace]'),
    42      clickRow: clickable(),
    43      clickName: clickable('[data-test-job-name] a'),
    44    }),
    45  
    46    nextPage: clickable('[data-test-pager="next"]'),
    47    prevPage: clickable('[data-test-pager="prev"]'),
    48  
    49    isEmpty: isPresent('[data-test-empty-jobs-list]'),
    50    emptyState: {
    51      headline: text('[data-test-empty-jobs-list-headline]'),
    52    },
    53  
    54    error: {
    55      isPresent: isPresent('[data-test-error]'),
    56      title: text('[data-test-error-title]'),
    57      message: text('[data-test-error-message]'),
    58      seekHelp: clickable('[data-test-error-message] a'),
    59      gotoJobs: clickable('[data-test-error-jobs-link]'),
    60      gotoClients: clickable('[data-test-error-clients-link]'),
    61    },
    62  
    63    pageSizeSelect: pageSizeSelect(),
    64  
    65    facets: {
    66      namespace: singleFacet('[data-test-namespace-facet]'),
    67      type: multiFacet('[data-test-type-facet]'),
    68      status: multiFacet('[data-test-status-facet]'),
    69      datacenter: multiFacet('[data-test-datacenter-facet]'),
    70      prefix: multiFacet('[data-test-prefix-facet]'),
    71    },
    72  });