feat(remission-return-receipt-list): rewrite unit tests with Angular Testing Utilities

- Replace Spectator with Angular's official TestBed and ComponentFixture
- Implement isolated test approach with proper AAA pattern
- Fix TypeScript errors related to Return interface type mismatches
- Add comprehensive edge case testing and error handling
- Create proper mock components for child dependencies
- Ensure all 47 tests pass with improved maintainability
This commit is contained in:
Lorenz Hilpert
2025-07-21 20:07:02 +02:00
parent 3cd6f4bd58
commit 59ce736faa
3 changed files with 666 additions and 557 deletions

View File

@@ -1,8 +1,7 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { describe, it, expect, beforeEach, vi } from 'vitest';
import { MockComponent, MockDirective, MockProvider } from 'ng-mocks';
import { of } from 'rxjs';
import { MockComponent, MockDirective } from 'ng-mocks';
import { RemissionReturnReceiptDetailsItemComponent } from './remission-return-receipt-details-item.component';
import { ProductFormatComponent } from '@isa/shared/product-foramt';
import { ProductImageDirective } from '@isa/shared/product-image';
@@ -13,10 +12,6 @@ import {
RemissionReturnReceiptService,
} from '@isa/remission/data-access';
import { IconButtonComponent } from '@isa/ui/buttons';
import {
BulletListComponent,
BulletListItemComponent,
} from '@isa/ui/bullet-list';
describe('RemissionReturnReceiptDetailsItemComponent', () => {
let component: RemissionReturnReceiptDetailsItemComponent;
@@ -90,6 +85,10 @@ describe('RemissionReturnReceiptDetailsItemComponent', () => {
component = fixture.componentInstance;
});
afterEach(() => {
mockRemissionReturnReceiptService.removeReturnItemFromReturnReceipt.mockClear();
});
describe('Component Setup', () => {
it('should create', () => {
fixture.componentRef.setInput('item', mockReceiptItem);