Skip to content

Commit

Permalink
Add test for ContentType code generation (#725)
Browse files Browse the repository at this point in the history
  • Loading branch information
Raphaël Simon committed Aug 12, 2016
1 parent 4f12f6a commit 0057885
Showing 1 changed file with 42 additions and 0 deletions.
42 changes: 42 additions & 0 deletions goagen/gen_app/writers_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,48 @@ var _ = Describe("ContextsWriter", func() {
})
})

Context("with a media type setting a ContentType", func() {
var contentType = "application/json"

BeforeEach(func() {
mediaType := &design.MediaTypeDefinition{
UserTypeDefinition: &design.UserTypeDefinition{
AttributeDefinition: &design.AttributeDefinition{
Type: design.Object{"foo": {Type: design.String}},
},
},
Identifier: "application/vnd.goa.test",
ContentType: contentType,
}
defView := &design.ViewDefinition{
AttributeDefinition: mediaType.AttributeDefinition,
Name: "default",
Parent: mediaType,
}
mediaType.Views = map[string]*design.ViewDefinition{"default": defView}
design.Design = new(design.APIDefinition)
design.Design.MediaTypes = map[string]*design.MediaTypeDefinition{
design.CanonicalIdentifier(mediaType.Identifier): mediaType,
}
design.ProjectedMediaTypes = make(map[string]*design.MediaTypeDefinition)
responses = map[string]*design.ResponseDefinition{"OK": {
Name: "OK",
Status: 200,
MediaType: mediaType.Identifier,
}}
})

It("the generated code sets the Content-Type header", func() {
err := writer.Execute(data)
Ω(err).ShouldNot(HaveOccurred())
b, err := ioutil.ReadFile(filename)
Ω(err).ShouldNot(HaveOccurred())
written := string(b)
Ω(written).ShouldNot(BeEmpty())
Ω(written).Should(ContainSubstring(`ctx.ResponseData.Header().Set("Content-Type", "` + contentType + `")`))
})
})

Context("with an integer param", func() {
BeforeEach(func() {
intParam := &design.AttributeDefinition{Type: design.Integer}
Expand Down

0 comments on commit 0057885

Please sign in to comment.