github.com/0xPolygon/supernets2-node@v0.0.0-20230711153321-2fe574524eaa/etherman/errors_test.go (about)

     1  package etherman
     2  
     3  import (
     4  	"fmt"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/assert"
     8  )
     9  
    10  func TestTryParseWithExactMatch(t *testing.T) {
    11  	expected := ErrTimestampMustBeInsideRange
    12  	smartContractErr := expected
    13  
    14  	actualErr, ok := tryParseError(smartContractErr)
    15  
    16  	assert.ErrorIs(t, actualErr, expected)
    17  	assert.True(t, ok)
    18  }
    19  
    20  func TestTryParseWithContains(t *testing.T) {
    21  	expected := ErrTimestampMustBeInsideRange
    22  	smartContractErr := fmt.Errorf(" execution reverted: ProofOfEfficiency::sequenceBatches: %s", expected)
    23  
    24  	actualErr, ok := tryParseError(smartContractErr)
    25  
    26  	assert.ErrorIs(t, actualErr, expected)
    27  	assert.True(t, ok)
    28  }
    29  
    30  func TestTryParseWithNonExistingErr(t *testing.T) {
    31  	smartContractErr := fmt.Errorf("some non-existing err")
    32  
    33  	actualErr, ok := tryParseError(smartContractErr)
    34  
    35  	assert.Nil(t, actualErr)
    36  	assert.False(t, ok)
    37  }