Example #1
0
 andThen(function() {
   stubValidSession(application);
   visit(page.url);
   andThen(function() {
     assert.equal(currentURL(), page.url, 'on the correct page');
     assert.ok(page.toolbar.isVisible, 'see the toolbar');
     assert.ok(page.toolbar.menu.isVisible, 'see menu');
     assert.ok(page.onTap.isEmpty, 'nothing on tap');
     assert.ok(page.onTap.addBeer.isVisible, 'cannot add beer');
   });
 });
test('authenticated - cancel adding new sensor', function(assert) {
  setupData();
  stubValidSession(application);
  andThen(function() {
    visit(page.url);
    andThen(function() {
      assert.equal(currentURL(), page.url, 'on the correct page');
      assert.ok(page.form.isVisible, 'see add sensor form');
      page.form.name.input.fillIn('sensor-1');
      page.form.actions.cancel.click();
      andThen(function() {
        assert.equal(currentURL(), statusPage.url, 'redirect to hub status');
        assert.equal(statusPage.hub.sensors().count, 0, 'no sensors added');
      });
    });
  });
});
test('authenticated - adding a new sensor', function(assert) {
  setupData();
  stubValidSession(application);
  andThen(function() {
    visit(page.url);
    andThen(function() {
      const sensorName = 'sensor-1';
      assert.equal(currentURL(), page.url, 'on the correct page');
      assert.ok(page.form.isVisible, 'see add sensor form');
      page.form.name.input.fillIn(sensorName);
      page.form.actions.add.click();
      andThen(function() {
        assert.equal(currentURL(), statusPage.url, 'redirect to hub status');
        assert.equal(statusPage.hub.sensors().count, 1, 'see newly added sensor');
        assert.equal(statusPage.hub.sensors(0).name, sensorName, 'sensor name is correct');
      });
    });
  });
});
test('hub already setup - authenticated', function(assert) {
  setupData(stubHubOnlyFixture());
  stubValidSession(application);
  andThen(function() {
    visit(page.url);
    andThen(function() {
      assert.equal(currentURL(), page.url, 'on the right page');
      assert.notOk(page.hub.notSetup, 'see hub setup');
      assert.notOk(page.hub.addHub.isVisible, 'can not setup hub');
      assert.ok(page.hub.status.isVisible, 'see hub status');
      assert.ok(page.hub.addTap.isVisible, 'can add taps');
      assert.ok(page.hub.addSensor.isVisible, 'can add sensors');
      page.hub.addTap.click();
      andThen(function() {
        assert.equal(currentURL(), '/tap/add', 'redirected to add tap');
      });
    });
  });
});
test('setup hub', function(assert) {
  setupData();
  stubValidSession(application);
  andThen(function() {
    visit(page.url);
    andThen(function() {
      assert.equal(currentURL(), page.url, 'on the right page');
      assert.ok(page.hub.notSetup, 'no hub setup');
      assert.ok(page.hub.addHub.isVisible, 'can add a hub');
      assert.notOk(page.hub.addTap.isVisible, 'cannot add tap until hub setup');
      assert.notOk(page.hub.addSensor.isVisible, 'cannot add sensor until hub setup');
      page.hub.addHub.click();
      andThen(function() {
        assert.notOk(page.hub.notSetup, 'see hub setup');
        assert.notOk(page.hub.addHub.isVisible, 'can no longer setup hub');
        assert.ok(page.hub.status.isVisible, 'see hub status');
        assert.ok(page.hub.addTap.isVisible, 'can now add taps');
        assert.ok(page.hub.addSensor.isVisible, 'can now add sensors');
      });
    });
  });
});
Example #6
0
test('up and running app - authenticated - delete beer', function(assert) {
  const fixture = stubApplicationFixture();
  setupData(fixture);
  stubValidSession(application);
  andThen(function() {
    visit(page.url);
    andThen(function() {
      const beers = Object.keys(fixture.beers).length;
      assert.equal(currentURL(), page.url, 'on the correct page');
      assert.ok(page.onTap.addBeer.isVisible, 'can add beer');
      assert.equal(
        page.onTap.beers().count,
        beers,
        'see some beers on tap'
      );
      assert.ok(page.onTap.beers(0).canDelete, 'can delete beer');
      page.onTap.beers(0).delete();
      andThen(function() {
        assert.equal(page.onTap.beers().count, beers - 1, 'see one less beer');
      });
    });
  });
});