@@ -71,13 +71,44 @@ func TestDocument(t *testing.T) {
71
71
Status : http .StatusAccepted ,
72
72
}
73
73
74
+ testObjectForInclusion := & Object {
75
+ ID : "1" ,
76
+ Type : "Included" ,
77
+ }
78
+
79
+ req := & http.Request {Method : "GET" }
80
+
74
81
Convey ("should accept an object" , func () {
75
82
doc := Build (testObject )
76
83
77
84
So (doc .Data , ShouldResemble , List {testObject })
78
85
So (doc .Status , ShouldEqual , http .StatusAccepted )
79
86
})
80
87
88
+ Convey ("should not accept an included object without objects in data" , func () {
89
+ doc := New ()
90
+ doc .Included = append (doc .Included , testObjectForInclusion )
91
+ doc .Status = 200
92
+
93
+ validationErrors := doc .Validate (req , true )
94
+
95
+ So (validationErrors , ShouldNotBeNil )
96
+ })
97
+
98
+ Convey ("should accept an object in data and an included object" , func () {
99
+ doc := Build (testObject )
100
+ doc .Included = append (doc .Included , testObjectForInclusion )
101
+
102
+ validationErrors := doc .Validate (req , true )
103
+
104
+ So (validationErrors , ShouldBeNil )
105
+ So (doc .Data , ShouldResemble , List {testObject })
106
+ So (doc .Included , ShouldNotBeEmpty )
107
+ So (doc .Included [0 ], ShouldResemble , testObjectForInclusion )
108
+ So (doc .Status , ShouldEqual , http .StatusAccepted )
109
+ })
110
+
111
+
81
112
Convey ("should accept a list" , func () {
82
113
list := List {testObject }
83
114
doc := Build (list )
0 commit comments