refactor: split tenant and lease page modules

This commit is contained in:
nessar committed 2026-08-17 14:18:14 +02:00
1 parent ebfc62a5e2
commit 3ca8514231
27 files changed
+1199 -1143

No files matched your search

@@ -0,0 +1,42 @@
import { TestBed } from '@angular/core/testing';
import { provideNativeDateAdapter } from '@angular/material/core';
import { LeaseForm } from './lease-form';
describe('LeaseForm', () => {
it('serializes selected dates as ISO values', () => {
TestBed.configureTestingModule({ providers: [provideNativeDateAdapter()] });
const fixture = TestBed.createComponent(LeaseForm);
fixture.componentRef.setInput('apartments', []);
fixture.componentRef.setInput('tenants', []);
const component = fixture.componentInstance;
component.apartmentId.set('apartment-1');
component.tenantIds.set(['tenant-1']);
component.startDate.set(new Date(2026, 8, 1));
component.endDate.set(new Date(2027, 7, 31));
component.monthlyRent.set(850);
component.monthlyCharges.set(50);
component.securityDeposit.set(850);
let startDate = '';
component.submitted.subscribe((lease) => (startDate = lease.startDate));
component.save({ invalid: false } as never);
expect(startDate).toBe('2026-09-01');
});
it('keeps guarantors in the lease form module', () => {
TestBed.configureTestingModule({ providers: [provideNativeDateAdapter()] });
const fixture = TestBed.createComponent(LeaseForm);
fixture.componentRef.setInput('apartments', []);
fixture.componentRef.setInput('tenants', []);
fixture.componentInstance.addGuarantor({
firstName: 'Alex',
lastName: 'Durand',
email: 'alex@example.com',
phone: '',
address: '',
});
expect(fixture.componentInstance.guarantors()).toHaveLength(1);
});
});