-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclient_soql_methods_test.go
95 lines (86 loc) · 2.51 KB
/
client_soql_methods_test.go
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
package sfdc_test
import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"go.stellar.af/go-sfdc"
)
func Test_OpenCases(t *testing.T) {
t.Run("soql open cases", func(t *testing.T) {
t.Parallel()
cases, err := Client.OpenCases()
require.NoError(t, err)
assert.True(t, len(cases) > 0)
})
}
func Test_UserName(t *testing.T) {
t.Run("user name by ID", func(t *testing.T) {
t.Parallel()
user, err := Client.User(Env.TestData.UserID)
require.NoError(t, err)
name, err := Client.UserName(Env.TestData.UserID)
require.NoError(t, err)
assert.Equal(t, user.Name, name)
})
}
func Test_GroupName(t *testing.T) {
t.Run("group name by ID", func(t *testing.T) {
t.Parallel()
group, err := Client.Group(Env.TestData.GroupID)
require.NoError(t, err)
name, err := Client.GroupName(Env.TestData.GroupID)
require.NoError(t, err)
assert.Equal(t, group.Name, name)
})
}
func Test_AccountIDFromName(t *testing.T) {
t.Run("account ID from account name", func(t *testing.T) {
t.Parallel()
account, err := Client.Account(Env.TestData.AccountID)
require.NoError(t, err)
id, err := Client.AccountIDFromName(Env.TestData.AccountName)
require.NoError(t, err)
assert.Equal(t, account.ID, id)
})
}
func Test_Customers(t *testing.T) {
t.Run("accounts with type customer", func(t *testing.T) {
t.Parallel()
customers, err := Client.Customers()
require.NoError(t, err)
assert.True(t, len(customers) > 0)
})
}
func Test_CaseByNumber(t *testing.T) {
t.Run("get a case by its case number", func(t *testing.T) {
t.Parallel()
subject := createCaseSubject(t)
caseData := &sfdc.CaseCreate{
AccountID: Env.TestData.AccountID,
Comments: "go-sfdc unit test case",
ContactID: Env.TestData.ContactID,
Description: subject,
Origin: "Web",
Status: "New",
Subject: subject,
}
res, err := Client.CreateCase(caseData)
require.NoError(t, err)
assert.True(t, res.Success)
newCase, err := Client.Case(res.ID)
require.NoError(t, err)
caseByNumber, err := Client.CaseByNumber(newCase.CaseNumber)
require.NoError(t, err)
assert.Equal(t, newCase.CaseNumber, caseByNumber.CaseNumber)
err = Client.UpdateCase(res.ID, &sfdc.CaseUpdate{Status: "Canceled"})
require.NoError(t, err)
})
}
func Test_UserByEmail(t *testing.T) {
t.Run("get a user by its email address", func(t *testing.T) {
t.Parallel()
result, err := Client.UserByEmail(Env.TestData.UserEmail)
require.NoError(t, err)
assert.Equal(t, Env.TestData.UserEmail, result.Email)
})
}