-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathrole_diff_test.go
69 lines (65 loc) · 1.49 KB
/
role_diff_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
package yext_test
import (
"fmt"
"reflect"
"testing"
"github.com/yext/yext-go"
)
func TestRole_Diff(t *testing.T) {
tests := []struct {
name string
roleA yext.Role
roleB yext.Role
wantDelta yext.Role
wantDiff bool
}{
{
name: "Identical Roles",
roleA: yext.Role{
Id: yext.String("3"),
Name: yext.String("Example Role"),
},
roleB: yext.Role{
Id: yext.String("3"),
Name: yext.String("Example Role"),
},
wantDelta: yext.Role{},
wantDiff: false,
},
{
name: "Different 'Id' params in Roles",
roleA: yext.Role{
Id: yext.String("3"),
Name: yext.String("Example Role"),
},
roleB: yext.Role{
Id: yext.String("4"),
Name: yext.String("Example Role"),
},
wantDelta: yext.Role{
Id: yext.String("4"),
},
wantDiff: true,
},
{
name: "Different 'Name' params in Roles",
roleA: yext.Role{
Id: yext.String("3"),
Name: yext.String("Example Role"),
},
roleB: yext.Role{
Id: yext.String("3"),
Name: yext.String("Example Role Two"),
},
wantDelta: yext.Role{
Name: yext.String("Example Role Two"),
},
wantDiff: true,
},
}
for _, test := range tests {
if gotDelta, gotDiff := test.roleA.Diff(test.roleB); !reflect.DeepEqual(test.wantDelta, gotDelta) || test.wantDiff != gotDiff {
t.Error(fmt.Sprintf("test '%s' failed, got diff: %t, wanted diff: %t, got delta: %+v, wanted delta: %+v", test.name, test.wantDiff, gotDiff, test.wantDelta, gotDelta))
}
}
}