github.com/Finschia/finschia-sdk@v0.48.1/x/evidence/keeper/querier_test.go (about)

     1  package keeper_test
     2  
     3  import (
     4  	"strings"
     5  
     6  	"github.com/Finschia/finschia-sdk/simapp"
     7  
     8  	"github.com/Finschia/finschia-sdk/x/evidence/exported"
     9  	"github.com/Finschia/finschia-sdk/x/evidence/types"
    10  
    11  	abci "github.com/tendermint/tendermint/abci/types"
    12  )
    13  
    14  const (
    15  	custom = "custom"
    16  )
    17  
    18  func (suite *KeeperTestSuite) TestQuerier_QueryEvidence_Existing() {
    19  	ctx := suite.ctx.WithIsCheckTx(false)
    20  	numEvidence := 100
    21  	legacyCdc := simapp.MakeTestEncodingConfig().Amino
    22  
    23  	evidence := suite.populateEvidence(ctx, numEvidence)
    24  	query := abci.RequestQuery{
    25  		Path: strings.Join([]string{custom, types.QuerierRoute, types.QueryEvidence}, "/"),
    26  		Data: legacyCdc.MustMarshalJSON(types.NewQueryEvidenceRequest(evidence[0].Hash())),
    27  	}
    28  
    29  	bz, err := suite.querier(ctx, []string{types.QueryEvidence}, query)
    30  	suite.Nil(err)
    31  	suite.NotNil(bz)
    32  
    33  	var e exported.Evidence
    34  	suite.Nil(legacyCdc.UnmarshalJSON(bz, &e))
    35  	suite.Equal(evidence[0], e)
    36  }
    37  
    38  func (suite *KeeperTestSuite) TestQuerier_QueryEvidence_NonExisting() {
    39  	ctx := suite.ctx.WithIsCheckTx(false)
    40  	cdc := simapp.MakeTestEncodingConfig().Marshaler
    41  	numEvidence := 100
    42  
    43  	suite.populateEvidence(ctx, numEvidence)
    44  	query := abci.RequestQuery{
    45  		Path: strings.Join([]string{custom, types.QuerierRoute, types.QueryEvidence}, "/"),
    46  		Data: cdc.MustMarshalJSON(types.NewQueryEvidenceRequest([]byte("0000000000000000000000000000000000000000000000000000000000000000"))),
    47  	}
    48  
    49  	bz, err := suite.querier(ctx, []string{types.QueryEvidence}, query)
    50  	suite.NotNil(err)
    51  	suite.Nil(bz)
    52  }
    53  
    54  func (suite *KeeperTestSuite) TestQuerier_QueryAllEvidence() {
    55  	ctx := suite.ctx.WithIsCheckTx(false)
    56  	cdc := simapp.MakeTestEncodingConfig().Amino
    57  	numEvidence := 100
    58  
    59  	suite.populateEvidence(ctx, numEvidence)
    60  	query := abci.RequestQuery{
    61  		Path: strings.Join([]string{custom, types.QuerierRoute, types.QueryAllEvidence}, "/"),
    62  		Data: cdc.MustMarshalJSON(types.NewQueryAllEvidenceParams(1, numEvidence)),
    63  	}
    64  
    65  	bz, err := suite.querier(ctx, []string{types.QueryAllEvidence}, query)
    66  	suite.Nil(err)
    67  	suite.NotNil(bz)
    68  
    69  	var e []exported.Evidence
    70  	suite.Nil(cdc.UnmarshalJSON(bz, &e))
    71  	suite.Len(e, numEvidence)
    72  }
    73  
    74  func (suite *KeeperTestSuite) TestQuerier_QueryAllEvidence_InvalidPagination() {
    75  	ctx := suite.ctx.WithIsCheckTx(false)
    76  	cdc := simapp.MakeTestEncodingConfig().Amino
    77  	numEvidence := 100
    78  
    79  	suite.populateEvidence(ctx, numEvidence)
    80  	query := abci.RequestQuery{
    81  		Path: strings.Join([]string{custom, types.QuerierRoute, types.QueryAllEvidence}, "/"),
    82  		Data: cdc.MustMarshalJSON(types.NewQueryAllEvidenceParams(0, numEvidence)),
    83  	}
    84  
    85  	bz, err := suite.querier(ctx, []string{types.QueryAllEvidence}, query)
    86  	suite.Nil(err)
    87  	suite.NotNil(bz)
    88  
    89  	var e []exported.Evidence
    90  	suite.Nil(cdc.UnmarshalJSON(bz, &e))
    91  	suite.Len(e, 0)
    92  }