export const getRowSettlementDate = (
tradeRow: Models.TradeRow,
deal: Models.DealDto,
validationService: Services.ValidationService
): Date | null => {
const notValidValue = validationService.get<Models.TradeRowDto>(tradeRow.tradeRowDto.rowId, 'settlementDate');
if (notValidValue) {
return notValidValue[0].wrongValue;
}
if (tradeRow.tradeRowDto.isSentTrade) {
return getSentSettlementDate(tradeRow);
}
const settlementDateGetMethods = new Map<string, (tradeRow: Models.TradeRow, deal: Models.DealDto) => Date | null>();
settlementDateGetMethods.set(Models.TradeType.Transfer, getTransferOrBookToBookSettlementDate);
settlementDateGetMethods.set(Models.TradeType.BookToBook, getTransferOrBookToBookSettlementDate);
settlementDateGetMethods.set(Models.TradeType.Issuer, getOneOffSettlementDate);
settlementDateGetMethods.set(Models.TradeType.MakeWhole, getOneOffSettlementDate);
settlementDateGetMethods.set(Models.TradeType.PostPricing, getOneOffSettlementDate);
settlementDateGetMethods.set(Models.TradeType.Hedge, getHedgeSwitchSettlementDate);
settlementDateGetMethods.set(Models.TradeType.Switch, getHedgeSwitchSettlementDate);
settlementDateGetMethods.set(Models.TradeType.Primary, getPrimarySettlementDate);
settlementDateGetMethods.set(Models.TradeType.SalesCreditSplit, getPrimarySettlementDate);
return settlementDateGetMethods.get(tradeRow.tradeRowDto.tradeType)!(tradeRow, deal);
};
How do I wrote unit test for this method and as well how do I get the except value for this "getTransferOrBookToBookSettlementDate"
`const service=jasmine.createSpyObj('Services.ValidationService', ['get']); it('Add Business Days incuding holiday and weekend', () => {
const dealDetailswithHoliday: Models.DealDto = Object.assign({}, JSON.parse(JSON.stringify(dealDetails)));
dealDetailswithHoliday.bankHolidayDays = ['8/4/2023'];
const getRowSettlementDateDtl = getRowSettlementDate(tradeRowDetails, dealDetails, service);
let res=spyOn(getRowSettlementDateDtl, ['getTransferOrBookToBookSettlementDate']).and.callFake((tradeRowDetails,dealDetails):Date|null => {
return null
})
**const settlementDateGetMethodsdtl=jasmine.createSpyObj('getRowSettlementDate','settlementDateGetMethods');**
expect(settlementDateGetMethodsdtl).toBe('str');
// })
});`
tried these but not getting idea how to write for this