]> gitweb.hhaalo.de Git - speisekarten-editor.git/commitdiff
add: tests for subtitle
authorBastian Dehn <hhaalo@arcor.de>
Sat, 2 Jul 2022 22:25:05 +0000 (00:25 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Sat, 2 Jul 2022 22:25:05 +0000 (00:25 +0200)
src/app/subtitle/subtitle.component.spec.ts

index 2c88a951d845b7b527b7142c36570084841964c1..e0f43d8dab78ad2b8e27b917a298f6c3eb3ab045 100644 (file)
@@ -23,4 +23,158 @@ describe('SubtitleComponent', () => {
   it('should create', () => {
     expect(component).toBeTruthy();
   });
+
+  it('edit form visible by init', () => {
+    expect(component.formSubtitleVisible).toBeTruthy();
+  });
+
+  it('edit form visible for edit', () => {
+    component.formSubtitleVisible = false;
+    component.editSubtitle();
+    expect(component.formSubtitleVisible).toBeTruthy();
+  });
+
+  it('edit form not visible after save with enter', () => {
+    component.formSubtitleVisible = true;
+    let key = { keyCode: 13 };
+    component.onKeypressEnter(key);
+    expect(component.formSubtitleVisible).toBeFalsy();
+  });
+
+  it('edit form not visible after save', () => {
+    component.formSubtitleVisible = true;
+    component.saveSubtitle();
+    expect(component.formSubtitleVisible).toBeFalsy();
+  });
+
+  it('add new food', () => {
+    let expectedFoods = [
+           {
+           Food: "",
+           sideDish: "",
+           price: ""
+           }
+    ];
+    component.addNewFood();
+    expect(component.subtitle.Foods).toEqual(expectedFoods);
+  });
+
+  it('insert new food', () => {
+    let initFoods = [
+           {
+            Food: "Schnitzel",
+            sideDish: "mit Pommes",
+            price: "10,50 €"
+           },
+           {
+            Food: "Jägerschnitzel",
+            sideDish: "mit Pommes",
+            price: "12,50 €"
+           },
+           {
+            Food: "Hawaischnitzel",
+            sideDish: "mit Pommes",
+            price: "11,50 €"
+           }
+    ];
+    component.subtitle.Foods = initFoods;
+    let expectedFoods = [
+           {
+            Food: "Schnitzel",
+            sideDish: "mit Pommes",
+            price: "10,50 €"
+           },
+           {
+            Food: "Jägerschnitzel",
+            sideDish: "mit Pommes",
+            price: "12,50 €"
+           },
+           {
+            Food: "",
+            sideDish: "",
+            price: ""
+           },
+           {
+            Food: "Hawaischnitzel",
+            sideDish: "mit Pommes",
+            price: "11,50 €"
+           }
+    ];
+    component.insertNewFood(1);
+    expect(component.subtitle.Foods).toEqual(expectedFoods);
+  });
+
+  it('remove one food', () => {
+    let initFoods = [
+           {
+            Food: "Schnitzel",
+            sideDish: "mit Pommes",
+            price: "10,50 €"
+           },
+           {
+            Food: "Jägerschnitzel",
+            sideDish: "mit Pommes",
+            price: "12,50 €"
+           },
+           {
+            Food: "Hawaischnitzel",
+            sideDish: "mit Pommes",
+            price: "11,50 €"
+           }
+    ];
+    component.subtitle.Foods = initFoods;
+    let expectedFoods = [
+           {
+            Food: "Schnitzel",
+            sideDish: "mit Pommes",
+            price: "10,50 €"
+           },
+           {
+            Food: "Hawaischnitzel",
+            sideDish: "mit Pommes",
+            price: "11,50 €"
+           }
+    ];
+    component.removeFood(1);
+    expect(component.subtitle.Foods).toEqual(expectedFoods);
+  });
+
+  it('drag and drop move item', () => {
+    let initFoods = [
+           {
+            Food: "Schnitzel",
+            sideDish: "mit Pommes",
+            price: "10,50 €"
+           },
+           {
+            Food: "Jägerschnitzel",
+            sideDish: "mit Pommes",
+            price: "12,50 €"
+           },
+           {
+            Food: "Hawaischnitzel",
+            sideDish: "mit Pommes",
+            price: "11,50 €"
+           }
+    ];
+    component.subtitle.Foods = initFoods;
+    let expectedFoods = [
+           {
+            Food: "Schnitzel",
+            sideDish: "mit Pommes",
+            price: "10,50 €"
+           },
+           {
+            Food: "Hawaischnitzel",
+            sideDish: "mit Pommes",
+            price: "11,50 €"
+           },
+           {
+            Food: "Jägerschnitzel",
+            sideDish: "mit Pommes",
+            price: "12,50 €"
+           }
+    ];
+    expect(component.subtitle.Foods).toEqual(expectedFoods);
+  });
 });