0g-chain/x/committee/keeper/gprc_query_test.go
2024-04-25 15:31:20 +08:00

54 lines
1.4 KiB
Go

package keeper_test
import (
"context"
"testing"
"github.com/stretchr/testify/suite"
"github.com/0glabs/0g-chain/x/committee/testutil"
"github.com/0glabs/0g-chain/x/committee/types"
)
type grpcQueryTestSuite struct {
testutil.Suite
}
func (suite *grpcQueryTestSuite) SetupTest() {
suite.Suite.SetupTest()
}
func (suite *grpcQueryTestSuite) TestVote() {
ctx, keeper, queryClient := suite.Ctx, suite.Keeper, suite.QueryClient
vote := types.Vote{
ProposalID: 1,
Voter: suite.Addresses[0],
VoteType: types.VOTE_TYPE_ABSTAIN,
}
keeper.SetVote(ctx, vote)
req := types.QueryVoteRequest{
ProposalId: vote.ProposalID,
Voter: vote.Voter.String(),
}
res, err := queryClient.Vote(context.Background(), &req)
suite.Require().NoError(err)
suite.Require().Equal(vote.ProposalID, res.ProposalID)
suite.Require().Equal(vote.VoteType, res.VoteType)
suite.Require().Equal(vote.Voter.String(), res.Voter)
queryRes, err := queryClient.Votes(context.Background(), &types.QueryVotesRequest{
ProposalId: vote.ProposalID,
})
suite.Require().NoError(err)
suite.Require().Len(queryRes.Votes, 1)
suite.Require().Equal(vote.ProposalID, queryRes.Votes[0].ProposalID)
suite.Require().Equal(vote.VoteType, queryRes.Votes[0].VoteType)
suite.Require().Equal(vote.Voter.String(), queryRes.Votes[0].Voter)
}
func TestGrpcQueryTestSuite(t *testing.T) {
suite.Run(t, new(grpcQueryTestSuite))
}