Skip to content

Commit 6c816be

Browse files
refactor: remove duplicate tests (#1028)
1 parent 53c2a59 commit 6c816be

File tree

1 file changed

+0
-225
lines changed

1 file changed

+0
-225
lines changed

src/app/integrations/intacct/intacct-shared/intacct-export-settings/intacct-export-settings.component.spec.ts

Lines changed: 0 additions & 225 deletions
Original file line numberDiff line numberDiff line change
@@ -497,229 +497,4 @@ describe('IntacctExportSettingsComponent', () => {
497497
expect(component.exportSettingsForm.get('employeeFieldMapping')?.enabled).toBeTrue();
498498
});
499499
});
500-
501-
describe('Watchers', () => {
502-
beforeEach(() => {
503-
fixture.detectChanges();
504-
});
505-
506-
describe('Reimbursable Expense Toggle Watcher', () => {
507-
it('should enable fields on enabling reimbursable expenses', fakeAsync(() => {
508-
component.exportSettingsForm.get('reimbursableExpense')?.setValue(true);
509-
tick();
510-
511-
expect(component.exportSettingsForm.get('reimbursableExportType')?.hasValidator(Validators.required)).toBeTrue();
512-
expect(component.exportSettingsForm.get('reimbursableExportGroup')?.hasValidator(Validators.required)).toBeTrue();
513-
expect(component.exportSettingsForm.get('reimbursableExportDate')?.hasValidator(Validators.required)).toBeTrue();
514-
}));
515-
516-
it('should disable fields on disabling reimbursable expenses', fakeAsync(() => {
517-
component.exportSettingsForm.get('reimbursableExpense')?.setValue(false);
518-
tick();
519-
520-
expect(component.exportSettingsForm.get('reimbursableExportType')?.hasValidator(Validators.required)).toBeFalse();
521-
expect(component.exportSettingsForm.get('reimbursableExportGroup')?.hasValidator(Validators.required)).toBeFalse();
522-
expect(component.exportSettingsForm.get('reimbursableExportDate')?.hasValidator(Validators.required)).toBeFalse();
523-
expect(component.exportSettingsForm.get('reimbursableExportType')?.value).toBeNull();
524-
}));
525-
});
526-
527-
describe('Reimbursable Export Type Watchers', () => {
528-
529-
it('should handle reimbursableExportType being changed to Journal Entry', fakeAsync(() => {
530-
component.exportSettingsForm.get('reimbursableExportType')?.setValue(IntacctReimbursableExpensesObject.JOURNAL_ENTRY);
531-
tick();
532-
533-
expect(component.exportSettingsForm.get('glAccount')?.hasValidator(Validators.required)).toBeTrue();
534-
expect(component.exportSettingsForm.get('employeeFieldMapping')?.enabled).toBeTrue();
535-
}));
536-
537-
it('should handle reimbursableExportType being changed to Expense Report', fakeAsync(() => {
538-
component.exportSettingsForm.get('reimbursableExportType')?.setValue(IntacctReimbursableExpensesObject.EXPENSE_REPORT);
539-
tick();
540-
541-
expect(component.exportSettingsForm.get('employeeFieldMapping')?.value).toBe(FyleField.EMPLOYEE);
542-
expect(component.exportSettingsForm.get('employeeFieldMapping')?.disabled).toBeTrue();
543-
}));
544-
545-
it('should handle reimbursableExportType being changed to Bill', fakeAsync(() => {
546-
component.exportSettingsForm.get('reimbursableExportType')?.setValue(IntacctReimbursableExpensesObject.BILL);
547-
tick();
548-
549-
expect(component.exportSettingsForm.get('employeeFieldMapping')?.value).toBe(FyleField.VENDOR);
550-
expect(component.exportSettingsForm.get('employeeFieldMapping')?.disabled).toBeTrue();
551-
}));
552-
});
553-
554-
describe('Credit Card Expense Toggle Watcher', () => {
555-
it('should enable fields on enabling CCC expenses', fakeAsync(() => {
556-
component.exportSettingsForm.get('creditCardExpense')?.setValue(true);
557-
tick();
558-
559-
expect(component.exportSettingsForm.get('cccExportType')?.hasValidator(Validators.required)).toBeTrue();
560-
expect(component.exportSettingsForm.get('cccExportGroup')?.hasValidator(Validators.required)).toBeTrue();
561-
expect(component.exportSettingsForm.get('cccExportDate')?.hasValidator(Validators.required)).toBeTrue();
562-
}));
563-
564-
it('should disable fields on disabling CCC expenses', fakeAsync(() => {
565-
component.exportSettingsForm.get('creditCardExpense')?.setValue(false);
566-
tick();
567-
568-
expect(component.exportSettingsForm.get('cccExportType')?.hasValidator(Validators.required)).toBeFalse();
569-
expect(component.exportSettingsForm.get('cccExportGroup')?.hasValidator(Validators.required)).toBeFalse();
570-
expect(component.exportSettingsForm.get('cccExportDate')?.hasValidator(Validators.required)).toBeFalse();
571-
expect(component.exportSettingsForm.get('cccExportType')?.value).toBeNull();
572-
}));
573-
});
574-
575-
describe('CCC Export Type Watchers', () => {
576-
it('should handle cccExportType being changed to Charge Card Transaction', fakeAsync(() => {
577-
component.exportSettingsForm.get('cccExportType')?.setValue(IntacctCorporateCreditCardExpensesObject.CHARGE_CARD_TRANSACTION);
578-
tick();
579-
580-
expect(component.exportSettingsForm.get('chargeCard')?.hasValidator(Validators.required)).toBeTrue();
581-
expect(component.exportSettingsForm.get('cccExportGroup')?.disabled).toBeTrue();
582-
expect(component.exportSettingsForm.get('cccExportGroup')?.value).toBe(ExpenseGroupingFieldOption.EXPENSE_ID);
583-
}));
584-
585-
it('should handle cccExportType being changed to Bill', fakeAsync(() => {
586-
component.exportSettingsForm.get('cccExportType')?.setValue(IntacctCorporateCreditCardExpensesObject.BILL);
587-
tick();
588-
589-
expect(component.exportSettingsForm.get('creditCardVendor')?.hasValidator(Validators.required)).toBeTrue();
590-
}));
591-
592-
it('should handle cccExportType being changed to Expense Report', fakeAsync(() => {
593-
component.exportSettingsForm.get('cccExportType')?.setValue(IntacctCorporateCreditCardExpensesObject.EXPENSE_REPORT);
594-
tick();
595-
596-
expect(component.exportSettingsForm.get('employeeFieldMapping')?.value).toBe(EmployeeFieldMapping.EMPLOYEE);
597-
expect(component.exportSettingsForm.get('cccExpensePaymentType')?.hasValidator(Validators.required)).toBeTrue();
598-
}));
599-
});
600-
601-
describe('Custom Watchers', () => {
602-
beforeEach(() => {
603-
brandingConfig.brandId = 'fyle';
604-
});
605-
606-
it('should update reimbursable expense grouping date options when group changes', fakeAsync(() => {
607-
fixture.detectChanges();
608-
component.exportSettingsForm.get('reimbursableExportGroup')?.setValue(ExpenseGroupingFieldOption.CLAIM_NUMBER);
609-
tick();
610-
611-
expect(component.reimbursableExpenseGroupingDateOptions).not.toContain({
612-
label: 'Spend date',
613-
value: ExportDateType.SPENT_AT
614-
});
615-
}));
616-
617-
it('should update CCC expense grouping date options when group changes', fakeAsync(() => {
618-
spyOn<IntacctExportSettingsComponent, any>(component, 'setCCExpenseDateOptions').and.callThrough();
619-
spyOn(IntacctExportSettingModel, 'getExpenseGroupingDateOptions').and.callThrough();
620-
spyOn(ExportSettingModel, 'constructGroupingDateOptions').and.callThrough();
621-
622-
component.exportSettingsForm.get('cccExportType')?.setValue(IntacctCorporateCreditCardExpensesObject.CHARGE_CARD_TRANSACTION);
623-
component.exportSettingsForm.get('cccExportGroup')?.setValue(ExpenseGroupingFieldOption.CLAIM_NUMBER);
624-
625-
tick();
626-
627-
expect(IntacctExportSettingModel.getExpenseGroupingDateOptions).toHaveBeenCalledWith();
628-
expect(ExportSettingModel.constructGroupingDateOptions).toHaveBeenCalledWith(
629-
ExpenseGroupingFieldOption.CLAIM_NUMBER,
630-
IntacctExportSettingModel.getExpenseGroupingDateOptions()
631-
);
632-
expect(component['setCCExpenseDateOptions']).toHaveBeenCalled();
633-
}));
634-
});
635-
636-
describe('Export Selection Validator', () => {
637-
beforeEach(() => {
638-
fixture.detectChanges();
639-
});
640-
641-
it('should invalidate form when neither reimbursable nor credit card expense is selected', () => {
642-
component.exportSettingsForm.get('reimbursableExpense')?.setValue(false);
643-
component.exportSettingsForm.get('creditCardExpense')?.setValue(false);
644-
645-
expect(component.exportSettingsForm.valid).toBeFalse();
646-
});
647-
648-
it('should validate the form when at least one export type is selected', () => {
649-
component.exportSettingsForm.get('reimbursableExpense')?.setValue(true);
650-
component.exportSettingsForm.get('creditCardExpense')?.setValue(false);
651-
652-
expect(component.exportSettingsForm.valid).toBeTrue();
653-
});
654-
});
655-
656-
describe('Destination Options Handling', () => {
657-
beforeEach(() => {
658-
fixture.detectChanges();
659-
});
660-
661-
it('should handle option search for reimbursable expense payment type', fakeAsync(() => {
662-
const searchEvent = {
663-
searchTerm: 'test',
664-
destinationOptionKey: 'EXPENSE_PAYMENT_TYPE'
665-
} as ExportSettingOptionSearch;
666-
667-
mappingService.getPaginatedDestinationAttributes.and.returnValue(
668-
of(mockPaginatedDestinationAttributes.EXPENSE_PAYMENT_TYPE as unknown as PaginatedintacctDestinationAttribute)
669-
);
670-
671-
component.searchOptionsDropdown(searchEvent);
672-
tick(1000);
673-
674-
const isReimbursable = (option: IntacctDestinationAttribute) => (
675-
option.detail ? option.detail.is_reimbursable : true
676-
);
677-
678-
expect(mappingService.getPaginatedDestinationAttributes).toHaveBeenCalledWith('EXPENSE_PAYMENT_TYPE', 'test');
679-
expect(component.destinationOptions.EXPENSE_PAYMENT_TYPE.every(isReimbursable)).toBeTrue();
680-
expect(component.isOptionSearchInProgress).toBeFalse();
681-
}));
682-
683-
it('should handle option search for CCC expense payment type', fakeAsync(() => {
684-
const searchEvent = {
685-
searchTerm: 'test',
686-
destinationOptionKey: 'CCC_EXPENSE_PAYMENT_TYPE'
687-
};
688-
689-
mappingService.getPaginatedDestinationAttributes.and.returnValue(
690-
of(mockPaginatedDestinationAttributes.EXPENSE_PAYMENT_TYPE as unknown as PaginatedintacctDestinationAttribute)
691-
);
692-
693-
component.searchOptionsDropdown(searchEvent as ExportSettingOptionSearch);
694-
tick(1000);
695-
696-
expect(mappingService.getPaginatedDestinationAttributes).toHaveBeenCalledWith('EXPENSE_PAYMENT_TYPE', 'test');
697-
expect(component.destinationOptions.CCC_EXPENSE_PAYMENT_TYPE.every(option => (
698-
option.detail ? !option.detail.is_reimbursable : true
699-
))).toBeTrue();
700-
expect(component.isOptionSearchInProgress).toBeFalse();
701-
}));
702-
});
703-
704-
705-
});
706-
707-
708-
describe('C1 Specific Behavior', () => {
709-
it('should handle setup with c1 branding', () => {
710-
brandingConfig.brandId = 'co';
711-
712-
fixture = TestBed.createComponent(IntacctExportSettingsComponent);
713-
component = fixture.componentInstance;
714-
fixture.detectChanges();
715-
716-
expect(component.exportSettingsForm.get('creditCardExpense')?.value).toBeTrue();
717-
expect(component.exportSettingsForm.get('employeeFieldMapping')?.value).toBe(FyleField.VENDOR);
718-
expect(component.isMultiLineOption).toBeFalse();
719-
});
720-
721-
afterAll(() => {
722-
brandingConfig.brandId = 'fyle';
723-
});
724-
});
725500
});

0 commit comments

Comments
 (0)