jonpitch/danger-brewing

View on GitHub
tests/pages/index.js

Summary

Maintainability
A
2 hrs
Test Coverage
import {
  create,
  visitable,
  isVisible,
  text,
  clickable,
  collection
} from 'ember-cli-page-object';

const url = '/';

export default create({
  visit: visitable(url),
  url,

  toolbar: {
    scope: 'md-card-content md-toolbar',
    isVisible: isVisible(),
    text: text('h2'),
    menu: {
      scope: 'button',
      isVisible: isVisible(),
      click: clickable()
    }
  },

  navigation: collection({
    itemScope: 'md-sidenav md-content md-list > md-list-item',
    item: {
      text: text('span.link > a'),
      click: clickable()
    }
  }),

  onTap: {
    scope: 'on-tap',
    isEmpty: isVisible('p[data-test="empty"]'),
    addBeer: {
      scope: 'div[data-test="add-beer"]',
      isVisible: isVisible(),
      click: clickable('button')
    },
    beers: collection({
      itemScope: 'div[data-test="beer"]',
      item: {
        name: text('span[data-test="name"]'),
        style: text('span[data-test="style"]'),
        canDelete: isVisible('md-card-actions button'),
        delete: clickable('md-card-actions button'),
        progress: isVisible('md-progress-linear'),
        tapped: isVisible('span[data-test="tapped"]'),
        stale: isVisible('span[data-test="date"]')
      }
    })
  }
});