status-im/status-go

View on GitHub
connection/state_test.go

Summary

Maintainability
A
0 mins
Test Coverage
package connection

import "testing"

func TestConnectionType(t *testing.T) {
    c := NewType("wifi")
    if c != connectionWifi {
        t.Fatalf("Wrong connection type: %v", c)
    }
    c = NewType("cellular")
    if c != connectionCellular {
        t.Fatalf("Wrong connection type: %v", c)
    }
    c = NewType("bluetooth")
    if c != connectionUnknown {
        t.Fatalf("Wrong connection type: %v", c)
    }
}

func TestState(t *testing.T) {
    tests := []struct {
        name     string
        state    State
        expected string
    }{
        {
            "zero value",
            State{},
            "unknown",
        },
        {
            "offline",
            State{Offline: true},
            "offline",
        },
        {
            "wifi",
            State{Type: connectionWifi},
            "wifi",
        },
        {
            "wifi tethered",
            State{Type: connectionWifi, Expensive: true},
            "wifi (expensive)",
        },
        {
            "unknown",
            State{Type: connectionUnknown},
            "unknown",
        },
        {
            "cellular",
            State{Type: connectionCellular},
            "cellular",
        },
    }

    for _, test := range tests {
        str := test.state.String()
        if str != test.expected {
            t.Fatalf("Expected String() to return '%s', got '%s'", test.expected, str)
        }
    }
}