@@ -1660,62 +1660,17 @@ describe('JobService', () => {
16601660 expect ( mockJobRepository . updateOne ) . toHaveBeenCalledWith ( jobEntity ) ;
16611661 } ) ;
16621662
1663- it ( 'should not create a refund and set status to CANCELED when no refund is found' , async ( ) => {
1663+ it ( 'should throw ConflictError when no refund is found' , async ( ) => {
16641664 const jobEntity = createJobEntity ( ) ;
16651665 mockPaymentService . getJobPayments . mockResolvedValueOnce ( [ ] ) ;
16661666 mockedEscrowUtils . getCancellationRefund . mockResolvedValueOnce (
16671667 null as any ,
16681668 ) ;
16691669
1670- jest
1671- . spyOn ( jobService as any , 'getRefundAmount' )
1672- . mockResolvedValueOnce ( 0n ) ;
1673-
1674- mockJobRepository . updateOne . mockResolvedValueOnce ( jobEntity ) ;
1675-
1676- await jobService . cancelJob ( jobEntity ) ;
1677-
1678- expect ( mockPaymentService . getJobPayments ) . toHaveBeenCalledWith (
1679- jobEntity . id ,
1680- PaymentType . SLASH ,
1681- ) ;
1682- expect ( EscrowUtils . getCancellationRefund ) . toHaveBeenCalledWith (
1683- jobEntity . chainId ,
1684- jobEntity . escrowAddress ,
1685- ) ;
1686- expect ( mockPaymentService . createRefundPayment ) . not . toHaveBeenCalled ( ) ;
1687- expect ( jobEntity . status ) . toBe ( JobStatus . CANCELED ) ;
1688- expect ( mockJobRepository . updateOne ) . toHaveBeenCalledWith ( jobEntity ) ;
1689- } ) ;
1690-
1691- it ( 'should create a refund when on-chain refund amount is greater than 0' , async ( ) => {
1692- const jobEntity = createJobEntity ( ) ;
1693- const tokenDecimals = ( TOKEN_ADDRESSES [ jobEntity . chainId as ChainId ] ??
1694- { } ) [ jobEntity . token as EscrowFundToken ] ?. decimals ;
1695-
1696- mockPaymentService . getJobPayments . mockResolvedValueOnce ( [ ] ) ;
1697- mockedEscrowUtils . getCancellationRefund . mockResolvedValueOnce (
1698- null as any ,
1670+ await expect ( jobService . cancelJob ( jobEntity ) ) . rejects . toThrow (
1671+ new ConflictError ( ErrorJob . NoRefundFound ) ,
16991672 ) ;
17001673
1701- const refundAmount = faker . number . float ( {
1702- min : 1 ,
1703- max : 10 ,
1704- fractionDigits : tokenDecimals ,
1705- } ) ;
1706-
1707- // Mock on-chain refund lookup to return a positive amount
1708- jest
1709- . spyOn ( jobService as any , 'getRefundAmount' )
1710- . mockResolvedValueOnce (
1711- ethers . parseUnits ( refundAmount . toString ( ) , tokenDecimals ) ,
1712- ) ;
1713-
1714- mockPaymentService . createRefundPayment . mockResolvedValueOnce ( undefined ) ;
1715- mockJobRepository . updateOne . mockResolvedValueOnce ( jobEntity ) ;
1716-
1717- await jobService . cancelJob ( jobEntity ) ;
1718-
17191674 expect ( mockPaymentService . getJobPayments ) . toHaveBeenCalledWith (
17201675 jobEntity . id ,
17211676 PaymentType . SLASH ,
@@ -1724,14 +1679,8 @@ describe('JobService', () => {
17241679 jobEntity . chainId ,
17251680 jobEntity . escrowAddress ,
17261681 ) ;
1727- expect ( mockPaymentService . createRefundPayment ) . toHaveBeenCalledWith ( {
1728- refundAmount : refundAmount ,
1729- refundCurrency : jobEntity . token ,
1730- userId : jobEntity . userId ,
1731- jobId : jobEntity . id ,
1732- } ) ;
1733- expect ( jobEntity . status ) . toBe ( JobStatus . CANCELED ) ;
1734- expect ( mockJobRepository . updateOne ) . toHaveBeenCalledWith ( jobEntity ) ;
1682+ expect ( mockPaymentService . createRefundPayment ) . not . toHaveBeenCalled ( ) ;
1683+ expect ( mockJobRepository . updateOne ) . not . toHaveBeenCalled ( ) ;
17351684 } ) ;
17361685
17371686 it ( 'should throw ConflictError if refund.amount is empty' , async ( ) => {
0 commit comments