diff --git a/app/components/kategorie.hbs b/app/components/kategorie.hbs
new file mode 100644
index 0000000..93f8bba
--- /dev/null
+++ b/app/components/kategorie.hbs
@@ -0,0 +1,6 @@
+
+
+
Pasta
+ {{yield}}
+
+
+
+
Gemüse
+ {{yield}}
+
+
+
+
Geflügel
+ {{yield}}
+
+
+
+
Rind
+ {{yield}}
+
+
+
+
Schwein
+ {{yield}}
+
+
+
+
Nachspeise
+ {{yield}}
+
+
+
+
Backen
{{yield}}
\ No newline at end of file
diff --git a/public/api/produkte.json b/public/api/produkte.json
new file mode 100644
index 0000000..fcc50ab
--- /dev/null
+++ b/public/api/produkte.json
@@ -0,0 +1,49 @@
+{
+ "data": [
+ {
+ "type": "produkt",
+ "id": "spaghetti",
+ "attributes": {
+ "titel": "Spaghetti",
+ "kategorie": "Pasta",
+ "menge": 500,
+ "einheit": "Gramm",
+ "bild": "https://www.pastaweb.de/wp-content/uploads/2016/02/spaghetti.jpg"
+ }
+ },
+ {
+ "type": "produkt",
+ "id": "salat",
+ "attributes": {
+ "titel": "Salat",
+ "kategorie": "Gemüse",
+ "menge": 1,
+ "einheit": "Kopf",
+ "bild": "https://napolipizza-spiez.ch/WebRoot/Store2/Shops/178389/5BD1/5BA4/85F2/ACB6/97E9/D91A/30FA/F35F/gruener-salat-2464087.jpg"
+ }
+ },
+ {
+ "type": "produkt",
+ "id": "milch",
+ "attributes": {
+ "titel": "Milch",
+ "kategorie": "Milchprodukte",
+ "menge": 1,
+ "einheit": "Liter",
+ "bild": "https://lebensmittel-warenkunde.de/assets/images/milch-milchprodukte.jpg"
+ }
+ },
+ {
+ "type": "produkt",
+ "id": "kaese",
+ "attributes": {
+ "titel": "Käse",
+ "kategorie": "Milchprodukte",
+ "menge": 200,
+ "einheit": "Gramm",
+ "bild": "https://www.der-bank-blog.de/wp-content/uploads/2016/04/banking-schweizer-kaese.jpg"
+ }
+ }
+ ]
+ }
+
\ No newline at end of file
diff --git a/public/api/rezepte.json b/public/api/rezepte.json
new file mode 100644
index 0000000..e69de29
diff --git a/public/api/zettel.json b/public/api/zettel.json
new file mode 100644
index 0000000..e69de29
diff --git a/tests/acceptance/einkaufszettel-test.js b/tests/acceptance/einkaufszettel-test.js
index f7e2a52..0062d9d 100644
--- a/tests/acceptance/einkaufszettel-test.js
+++ b/tests/acceptance/einkaufszettel-test.js
@@ -48,11 +48,45 @@ module('Acceptance | einkaufszettel', function(hooks) {
assert.dom('nav a.menu-produkte').hasText('Produkte');
assert.dom('nav a.menu-rezepte').hasText('Rezepte');
- assert.dom('.jumbo a.h2').hasText('deine Zettel');
+ assert.dom('.jumbo h2').hasText('deine Zettel');
assert.dom('.jumbo a.button').hasText('Zettel aktualisieren');
await click('.jumbo a.button');
assert.equal(currentURL(), '/zettel');
});
+ test('visiting /produkte', async function(assert) {
+ await visit('/produkte');
+
+ assert.dom('nav').exists();
+ assert.dom('nav a.menu-index').hasText('EinkaufsZettel')
+ assert.dom('nav a.menu-zettel').hasText('Zettel');
+ assert.dom('nav a.menu-produkte').hasText('Produkte');
+ assert.dom('nav a.menu-rezepte').hasText('Rezepte');
+
+ assert.dom('.jumbo h2').hasText('deine Produkte');
+ assert.dom('.jumbo a.button').hasText('Produkte bearbeiten');
+ await click('.jumbo a.button');
+
+ assert.equal(currentURL(), '/produkte');
+ });
+
+ test('visiting /rezepte', async function(assert) {
+ await visit('/rezepte');
+
+ assert.dom('nav').exists();
+ assert.dom('nav a.menu-index').hasText('EinkaufsZettel')
+ assert.dom('nav a.menu-zettel').hasText('Zettel');
+ assert.dom('nav a.menu-produkte').hasText('Produkte');
+ assert.dom('nav a.menu-rezepte').hasText('Rezepte');
+
+ assert.dom('.jumbo h2').hasText('deine Rezepte');
+ assert.dom('.jumbo a.button').hasText('Rezepte bearbeiten');
+ await click('.jumbo a.button');
+
+ assert.equal(currentURL(), '/rezepte');
+ });
+
+
+
});
diff --git a/tests/integration/components/produkte-test.js b/tests/integration/components/kategorie-test.js
similarity index 81%
rename from tests/integration/components/produkte-test.js
rename to tests/integration/components/kategorie-test.js
index 7a6135a..403ca21 100644
--- a/tests/integration/components/produkte-test.js
+++ b/tests/integration/components/kategorie-test.js
@@ -3,22 +3,22 @@ import { setupRenderingTest } from 'ember-qunit';
import { render } from '@ember/test-helpers';
import { hbs } from 'ember-cli-htmlbars';
-module('Integration | Component | produkte', function(hooks) {
+module('Integration | Component | kategorie', function(hooks) {
setupRenderingTest(hooks);
test('it renders', async function(assert) {
// Set any properties with this.set('myProperty', 'value');
// Handle any actions with this.set('myAction', function(val) { ... });
- await render(hbs`
`);
+ await render(hbs`
`);
assert.equal(this.element.textContent.trim(), '');
// Template block usage:
await render(hbs`
-
+
template block text
-
+
`);
assert.equal(this.element.textContent.trim(), 'template block text');
diff --git a/tests/integration/components/rezepte-test.js b/tests/integration/components/produkt-test.js
similarity index 82%
rename from tests/integration/components/rezepte-test.js
rename to tests/integration/components/produkt-test.js
index 3f11eed..e20010d 100644
--- a/tests/integration/components/rezepte-test.js
+++ b/tests/integration/components/produkt-test.js
@@ -3,22 +3,22 @@ import { setupRenderingTest } from 'ember-qunit';
import { render } from '@ember/test-helpers';
import { hbs } from 'ember-cli-htmlbars';
-module('Integration | Component | rezepte', function(hooks) {
+module('Integration | Component | produkt', function(hooks) {
setupRenderingTest(hooks);
test('it renders', async function(assert) {
// Set any properties with this.set('myProperty', 'value');
// Handle any actions with this.set('myAction', function(val) { ... });
- await render(hbs`
`);
+ await render(hbs`
`);
assert.equal(this.element.textContent.trim(), '');
// Template block usage:
await render(hbs`
-
+
template block text
-
+
`);
assert.equal(this.element.textContent.trim(), 'template block text');
diff --git a/tests/integration/components/zettel-test.js b/tests/integration/components/zettel-test.js
deleted file mode 100644
index 677c2f1..0000000
--- a/tests/integration/components/zettel-test.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import { module, test } from 'qunit';
-import { setupRenderingTest } from 'ember-qunit';
-import { render } from '@ember/test-helpers';
-import { hbs } from 'ember-cli-htmlbars';
-
-module('Integration | Component | zettel', function(hooks) {
- setupRenderingTest(hooks);
-
- test('it renders', async function(assert) {
- // Set any properties with this.set('myProperty', 'value');
- // Handle any actions with this.set('myAction', function(val) { ... });
-
- await render(hbs`
`);
-
- assert.equal(this.element.textContent.trim(), '');
-
- // Template block usage:
- await render(hbs`
-
- template block text
-
- `);
-
- assert.equal(this.element.textContent.trim(), 'template block text');
- });
-});