mirror of
				https://github.com/0glabs/0g-chain.git
				synced 2025-11-04 10:37:26 +00:00 
			
		
		
		
	* point community pool lend proposals at fee pool * update community pool lend proposal tests * remove unused begin blocker * increase test coverage * fix x/community proposal comments
		
			
				
	
	
		
			87 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package utils_test
 | 
						|
 | 
						|
import (
 | 
						|
	"testing"
 | 
						|
 | 
						|
	"github.com/stretchr/testify/require"
 | 
						|
 | 
						|
	"github.com/cosmos/cosmos-sdk/codec"
 | 
						|
	"github.com/cosmos/cosmos-sdk/testutil"
 | 
						|
	sdk "github.com/cosmos/cosmos-sdk/types"
 | 
						|
 | 
						|
	"github.com/kava-labs/kava/x/community/client/utils"
 | 
						|
)
 | 
						|
 | 
						|
func TestParseDepositProposal(t *testing.T) {
 | 
						|
	cdc := codec.NewAminoCodec(codec.NewLegacyAmino())
 | 
						|
	okJSON := testutil.WriteToNewTempFile(t, `
 | 
						|
{
 | 
						|
  "title": "Community Pool Lend Deposit",
 | 
						|
  "description": "Deposit some KAVA from community pool to Lend!",
 | 
						|
  "amount": [
 | 
						|
    {
 | 
						|
      "denom": "ukava",
 | 
						|
      "amount": "100000000000"
 | 
						|
    }
 | 
						|
  ]
 | 
						|
}
 | 
						|
`)
 | 
						|
	proposal, err := utils.ParseCommunityPoolLendDepositProposal(cdc, okJSON.Name())
 | 
						|
	require.NoError(t, err)
 | 
						|
 | 
						|
	expectedAmount, err := sdk.ParseCoinsNormalized("100000000000ukava")
 | 
						|
	require.NoError(t, err)
 | 
						|
 | 
						|
	require.Equal(t, "Community Pool Lend Deposit", proposal.Title)
 | 
						|
	require.Equal(t, "Deposit some KAVA from community pool to Lend!", proposal.Description)
 | 
						|
	require.Equal(t, expectedAmount, proposal.Amount)
 | 
						|
}
 | 
						|
 | 
						|
func TestParseWithdrawProposal(t *testing.T) {
 | 
						|
	cdc := codec.NewAminoCodec(codec.NewLegacyAmino())
 | 
						|
	okJSON := testutil.WriteToNewTempFile(t, `
 | 
						|
{
 | 
						|
  "title": "Community Pool Lend Withdraw",
 | 
						|
  "description": "Withdraw some KAVA from community pool to Lend!",
 | 
						|
  "amount": [
 | 
						|
    {
 | 
						|
      "denom": "ukava",
 | 
						|
      "amount": "100000000000"
 | 
						|
    }
 | 
						|
  ]
 | 
						|
}
 | 
						|
`)
 | 
						|
	proposal, err := utils.ParseCommunityPoolLendWithdrawProposal(cdc, okJSON.Name())
 | 
						|
	require.NoError(t, err)
 | 
						|
 | 
						|
	expectedAmount, err := sdk.ParseCoinsNormalized("100000000000ukava")
 | 
						|
	require.NoError(t, err)
 | 
						|
 | 
						|
	require.Equal(t, "Community Pool Lend Withdraw", proposal.Title)
 | 
						|
	require.Equal(t, "Withdraw some KAVA from community pool to Lend!", proposal.Description)
 | 
						|
	require.Equal(t, expectedAmount, proposal.Amount)
 | 
						|
}
 | 
						|
 | 
						|
func TestParseFileNoExists(t *testing.T) {
 | 
						|
	cdc := codec.NewAminoCodec(codec.NewLegacyAmino())
 | 
						|
	_, err := utils.ParseCommunityPoolLendDepositProposal(cdc, "not-a-file.json")
 | 
						|
	require.ErrorContains(t, err, "no such file or directory")
 | 
						|
	_, err = utils.ParseCommunityPoolLendWithdrawProposal(cdc, "not-a-file.json")
 | 
						|
	require.ErrorContains(t, err, "no such file or directory")
 | 
						|
}
 | 
						|
 | 
						|
func TestParseFileMalformed(t *testing.T) {
 | 
						|
	cdc := codec.NewAminoCodec(codec.NewLegacyAmino())
 | 
						|
	malformed := testutil.WriteToNewTempFile(t, `
 | 
						|
{
 | 
						|
	"title": "I'm malformed b/c there's no closing quote,
 | 
						|
	"description": "A description",
 | 
						|
	"amount": [{"denom": "ukava", "amount": "100000000000"}]
 | 
						|
}
 | 
						|
`)
 | 
						|
	_, err := utils.ParseCommunityPoolLendDepositProposal(cdc, malformed.Name())
 | 
						|
	require.ErrorContains(t, err, "invalid character")
 | 
						|
	_, err = utils.ParseCommunityPoolLendWithdrawProposal(cdc, malformed.Name())
 | 
						|
	require.ErrorContains(t, err, "invalid character")
 | 
						|
}
 |