import Ember from 'ember'; import { module, test } from 'qunit'; import startApp from '../helpers/start-app'; import { authenticateSession } from '../helpers/ember-simple-auth'; module('Acceptance | characteristics', { beforeEach: function() { this.application = startApp(); server.create('users', { role: 'A', canEdit: true, sub: 1 }); authenticateSession(this.application, { access_token: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJiYWN0ZGIiLCJzdWIiOiIxIiwiZXhwIjoxNDQ2NTAyMjI2LCJpYXQiOjE0NDY0OTg2MjZ9.vIjKHAsp2TkCV505EbtCo2xQT-2oQkB-Nv5y0b6E7Mg" }); }, afterEach: function() { Ember.run(this.application, 'destroy'); } }); test('visiting /characteristics', function(assert) { const characteristics = server.createList('characteristics', 20); visit('/characteristics'); andThen(function() { assert.equal(currentURL(), '/characteristics'); assert.equal(find(".flakes-table > tbody > tr").length, characteristics.length); assert.equal(find("#total-characteristics").text(), "Total characteristics: 20"); }); }); test('visiting /characteristics/:id', function(assert) { const characteristic = server.create('characteristics'); visit(`/characteristics/${characteristic.id}`); andThen(function() { assert.equal(currentURL(), `/characteristics/${characteristic.id}`); assert.equal(find(".flakes-information-box > legend").text().trim(), characteristic.characteristicName); }); }); test('editing /characteristics/:id/edit', function(assert) { const characteristic = server.create('characteristics', { 'canEdit': true }); visit(`/characteristics/${characteristic.id}/edit`); andThen(function() { assert.equal(currentURL(), `/characteristics/${characteristic.id}/edit`); fillIn('.characteristic-name', 'Revised Characteristic Name'); click('.save-characteristic'); andThen(function() { assert.equal(currentURL(), `/characteristics/${characteristic.id}`); assert.equal(find(".flakes-information-box > legend").text().trim(), 'Revised Characteristic Name'); }); }); }); test('creating /characteristics/new', function(assert) { visit(`/characteristics/new`); andThen(function() { assert.equal(currentURL(), `/characteristics/new`); fillIn('.characteristic-name', 'New Characteristic Name'); click('.save-characteristic'); andThen(function() { assert.equal(find(".flakes-information-box > legend").text().trim(), 'New Characteristic Name'); assert.equal(server.db.characteristics.length, 1); }); }); }); test('deleting /characteristics/:id', function(assert) { const characteristic = server.create('characteristics', { 'canEdit': true }); visit(`/characteristics/${characteristic.id}`); andThen(function() { assert.equal(currentURL(), `/characteristics/${characteristic.id}`); click('button.delete'); andThen(function() { click('button.delete-confirm'); andThen(function() { assert.equal(currentURL(), `/characteristics`); assert.equal(server.db.characteristics.length, 0); }); }); }); });