Skip to content

Commit

Permalink
Return empty object if we don't have a fixture
Browse files Browse the repository at this point in the history
  • Loading branch information
brandur committed Jun 23, 2017
1 parent 3a0fc9f commit 9d09ab9
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 15 deletions.
3 changes: 2 additions & 1 deletion generator.go
Expand Up @@ -47,8 +47,9 @@ func (g *DataGenerator) generateResource(schema *JSONSchema) (interface{}, error

fixture, ok := g.fixtures.Resources[ResourceID(schema.XResourceID)]
if !ok {
return nil, fmt.Errorf("Expected fixtures to include %v", schema.XResourceID)
return map[string]interface{}{}, nil
}

return fixture, nil
}

Expand Down
27 changes: 13 additions & 14 deletions generator_test.go
Expand Up @@ -68,6 +68,19 @@ func TestGenerateResponseData(t *testing.T) {
testFixtures.Resources["charge"].(map[string]interface{})["id"],
chargesList.(map[string]interface{})["data"].([]interface{})[0].(map[string]interface{})["id"])

// no fixture (returns an empty object)
generator = DataGenerator{
testSpec.Definitions,
// this is an empty set of fixtures
&Fixtures{
Resources: map[ResourceID]interface{}{},
},
}
data, err = generator.Generate(
&JSONSchema{Ref: "#/definitions/charge"}, "")
assert.Nil(t, err)
assert.Equal(t, map[string]interface{}{}, data)

// error: unhandled JSON schema type
generator = DataGenerator{testSpec.Definitions, testFixtures}
data, err = generator.Generate(
Expand All @@ -83,20 +96,6 @@ func TestGenerateResponseData(t *testing.T) {
assert.Equal(t,
fmt.Errorf("Couldn't dereference: #/definitions/doesnt-exist"),
err)

// error: no fixture
generator = DataGenerator{
testSpec.Definitions,
// this is an empty set of fixtures
&Fixtures{
Resources: map[ResourceID]interface{}{},
},
}
data, err = generator.Generate(
&JSONSchema{Ref: "#/definitions/charge"}, "")
assert.Equal(t,
fmt.Errorf("Expected fixtures to include charge"),
err)
}

// ---
Expand Down

0 comments on commit 9d09ab9

Please sign in to comment.