zoubingwu / msw-auto-mock

A cli tool to generate random mock data from OpenAPI definition for msw.
246 stars 54 forks source link

$ref not evaluated in examples #37

Open v-dogg opened 7 months ago

v-dogg commented 7 months ago

Schema:


"components": {
  "examples": {
    "customerData": {
      "value" : {
        "id": "customer-id-test",
        "createdAt": 1234567890,
        "name": "Customer name"
      }
    }
  },
...
"/v1/customers": {
  "get": {
    "tags": ["Customers"],
    "parameters": [],
    "responses": {
      "200": {
        "description": "Success response.",
        "content": {
          "application/json": {
            "schema": {
              "allOf": [
                ...
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/customer"
                      }
                    }
                  },
                  "example": {
                    "$ref": "#/components/examples/customerData/value"
                  }
                }
              ]
....

Generated mock response:

export function getGetV1Customers200Response() {
  return { $ref: "#/components/examples/customerData/value" };
}

Expected:

Referenced value expanded. Swagger preview as an example.

image