0
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

0 Answers0