@@ -22,10 +22,48 @@ import (
2222 "strings"
2323 "testing"
2424
25+ "github.com/onflow/flow-go-sdk"
2526 "github.com/stretchr/testify/assert"
2627 "github.com/stretchr/testify/require"
2728)
2829
30+ func TestIsAddressValidForNetwork (t * testing.T ) {
31+ testnetAddr := flow .HexToAddress ("8efde57e98c557fa" ) // Valid testnet address
32+ emulatorAddr := flow .HexToAddress ("f8d6e0586b0a20c7" ) // Valid emulator address
33+ mainnetAddr := flow .HexToAddress ("1654653399040a61" ) // Valid mainnet address
34+
35+ t .Run ("mainnet address valid for mainnet" , func (t * testing.T ) {
36+ assert .True (t , IsAddressValidForNetwork (mainnetAddr , "mainnet" ))
37+ })
38+
39+ t .Run ("mainnet address invalid for testnet" , func (t * testing.T ) {
40+ assert .False (t , IsAddressValidForNetwork (mainnetAddr , "testnet" ))
41+ })
42+
43+ t .Run ("testnet address valid for testnet" , func (t * testing.T ) {
44+ assert .True (t , IsAddressValidForNetwork (testnetAddr , "testnet" ))
45+ })
46+
47+ t .Run ("testnet address invalid for mainnet" , func (t * testing.T ) {
48+ assert .False (t , IsAddressValidForNetwork (testnetAddr , "mainnet" ))
49+ })
50+
51+ t .Run ("emulator address valid for emulator" , func (t * testing.T ) {
52+ assert .True (t , IsAddressValidForNetwork (emulatorAddr , "emulator" ))
53+ })
54+
55+ t .Run ("emulator address valid for testing" , func (t * testing.T ) {
56+ assert .True (t , IsAddressValidForNetwork (emulatorAddr , "testing" ))
57+ })
58+
59+ t .Run ("custom network allows any address" , func (t * testing.T ) {
60+ // Custom networks should allow all addresses since we can't validate without knowing the chain ID
61+ assert .True (t , IsAddressValidForNetwork (mainnetAddr , "my-custom-network" ))
62+ assert .True (t , IsAddressValidForNetwork (testnetAddr , "my-custom-network" ))
63+ assert .True (t , IsAddressValidForNetwork (emulatorAddr , "my-custom-network" ))
64+ })
65+ }
66+
2967func TestAddFlowEntriesToGitIgnore_NoDuplicates (t * testing.T ) {
3068 _ , state , _ := TestMocks (t )
3169
0 commit comments