-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathinvite_test.go
More file actions
55 lines (50 loc) · 1.36 KB
/
invite_test.go
File metadata and controls
55 lines (50 loc) · 1.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package members_test
import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/launchdarkly/ldcli/cmd"
"github.com/launchdarkly/ldcli/internal/analytics"
"github.com/launchdarkly/ldcli/internal/resources"
)
func TestInvite(t *testing.T) {
mockClient := &resources.MockClient{
Response: []byte(`{
"items":[
{
"_id":"000000000000000000000001",
"role":"writer",
"email":"test1@test.com"
},
{
"_id":"000000000000000000000002",
"role":"writer",
"email":"test2@test.com"
}
]
}`),
}
args := []string{
"members", "invite",
"--access-token", "abcd1234",
"--emails", "test1@test.com,test2@test.com",
"--role", "writer",
}
output, err := cmd.CallCmd(
t,
cmd.APIClients{
ResourcesClient: mockClient,
},
analytics.NoopClientFn{}.Tracker(),
args,
)
require.NoError(t, err)
assert.Equal(t, `[{"email":"test1@test.com","role":"writer"},{"email":"test2@test.com","role":"writer"}]`, string(mockClient.Input))
assert.Contains(t, string(output), "Successfully updated")
assert.Contains(t, string(output), "EMAIL")
assert.Contains(t, string(output), "ROLE")
assert.Contains(t, string(output), "test1@test.com")
assert.Contains(t, string(output), "test2@test.com")
assert.Contains(t, string(output), "writer")
assert.NotContains(t, string(output), "* ")
}