github.com/cozy/cozy-stack@v0.0.0-20240603063001-31110fa4cae1/model/account/type_test.go (about)

     1  package account
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  )
     8  
     9  func TestFilterByContext(t *testing.T) {
    10  	bar := &AccountType{
    11  		DocID:     "bar.example",
    12  		Slug:      "my-konnector",
    13  		GrantMode: SecretGrant,
    14  		Secret:    "bar",
    15  	}
    16  	foobar := &AccountType{
    17  		DocID:     "foo/bar.example",
    18  		Slug:      "my-konnector",
    19  		GrantMode: SecretGrant,
    20  		Secret:    "foobar",
    21  	}
    22  	qux := &AccountType{
    23  		DocID:     "qux.example",
    24  		Slug:      "my-konnector",
    25  		GrantMode: SecretGrant,
    26  		Secret:    "qux",
    27  	}
    28  	types := []*AccountType{bar, foobar, qux}
    29  
    30  	filtered := filterByContext(types, "foo")
    31  	assert.Len(t, filtered, 2)
    32  	assert.Contains(t, filtered, foobar)
    33  	assert.Contains(t, filtered, qux)
    34  
    35  	filtered = filterByContext(types, "courge")
    36  	assert.Len(t, filtered, 2)
    37  	assert.Contains(t, filtered, bar)
    38  	assert.Contains(t, filtered, qux)
    39  
    40  	filtered = filterByContext([]*AccountType{foobar}, "courge")
    41  	assert.Len(t, filtered, 0)
    42  }