github.com/Finschia/finschia-sdk@v0.49.1/x/foundation/authz_test.go (about)

     1  package foundation_test
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/require"
     7  
     8  	sdk "github.com/Finschia/finschia-sdk/types"
     9  	"github.com/Finschia/finschia-sdk/x/foundation"
    10  )
    11  
    12  func TestReceiveFromTreasuryAuthorization(t *testing.T) {
    13  	testCases := map[string]struct {
    14  		msg    sdk.Msg
    15  		valid  bool
    16  		accept bool
    17  	}{
    18  		"valid": {
    19  			msg:    &foundation.MsgWithdrawFromTreasury{},
    20  			valid:  true,
    21  			accept: true,
    22  		},
    23  		"msg mismatch": {
    24  			msg: &foundation.MsgVote{},
    25  		},
    26  	}
    27  
    28  	for name, tc := range testCases {
    29  		t.Run(name, func(t *testing.T) {
    30  			authorization := &foundation.ReceiveFromTreasuryAuthorization{}
    31  
    32  			resp, err := authorization.Accept(sdk.Context{}, tc.msg)
    33  			if !tc.valid {
    34  				require.Error(t, err)
    35  				return
    36  			}
    37  			require.NoError(t, err)
    38  
    39  			require.Equal(t, tc.accept, resp.Accept)
    40  		})
    41  	}
    42  }