-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Steps to reproduce:
Case 1 - json working with proper test Get pet by status
psc.swaggerJsonUrl = "https://petstore.swagger.io/v2/swagger.json";
Output 1 - No tests:
{
"basePath": "/v2",
"coverage": 0,
"coveredApiCount": 0,
"missedApiCount": 14,
"totalApiCount": 14,
"coveredApiList": [],
"missedApiList": [
"/v2/pet/{petId}/uploadImage",
"/v2/pet",
"/v2/pet/findByStatus",
"/v2/pet/findByTags",
"/v2/pet/{petId}",
"/v2/store/order",
"/v2/store/order/{orderId}",
"/v2/store/inventory",
"/v2/user/createWithArray",
"/v2/user/createWithList",
"/v2/user/{username}",
"/v2/user/login",
"/v2/user/logout",
"/v2/user"
]
}
Output 2 - ok with 1 test executed on /v2/pet/findByStatus
{
"basePath": "/v2",
"coverage": 0.21,
"coveredApiCount": 3,
"missedApiCount": 11,
"totalApiCount": 14,
"coveredApiList": [
"/v2/pet",
"/v2/pet/findByStatus",
"/v2/pet/{petId}"
],
"missedApiList": [
"/v2/pet/{petId}/uploadImage",
"/v2/pet/findByTags",
"/v2/store/order",
"/v2/store/order/{orderId}",
"/v2/store/inventory",
"/v2/user/createWithArray",
"/v2/user/createWithList",
"/v2/user/{username}",
"/v2/user/login",
"/v2/user/logout",
"/v2/user"
]
}
Test used:
await spec()
.get('https://petstore.swagger.io/v2/pet/findByStatus')
.withPathParams("status", 'available')
.expectStatus(200)
Case 2 - yml file
- Set path to yml file:
psc.swaggerYamlPath = 'C:\\Users\\Copilotme\\Downloads\\openapi3-sample.yml'
- Output:
{
"basePath": "http://petstore.swagger.io/v1",
"coverage": 0,
"coveredApiCount": 0,
"missedApiCount": 2,
"totalApiCount": 2,
"coveredApiList": [],
"missedApiList": [
"http://petstore.swagger.io/v1/pets",
"http://petstore.swagger.io/v1/pets/{petId}"
]
}
- Sample yml is not attached but pasted as non-supported to upload
openapi: "3.0.0"
info:
version: 1.0.0
title: Swagger Petstore
license:
name: MIT
servers:
- url: http://petstore.swagger.io/v1
paths:
/pets:
get:
summary: List all pets
operationId: listPets
tags:
- pets
parameters:
- name: limit
in: query
description: How many items to return at one time (max 100)
required: false
schema:
type: integer
format: int32
responses:
200:
description: An paged array of pets
headers:
x-next:
description: A link to the next page of responses
schema:
type: string
content:
application/json:
schema:
$ref: "#/components/schemas/Pets"
default:
description: unexpected error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
post:
summary: Create a pet
operationId: createPets
tags:
- pets
responses:
201:
description: Null response
default:
description: unexpected error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/pets/{petId}:
get:
summary: Info for a specific pet
operationId: showPetById
tags:
- pets
parameters:
- name: petId
in: path
required: true
description: The id of the pet to retrieve
schema:
type: string
responses:
200:
description: Expected response to a valid request
content:
application/json:
schema:
$ref: "#/components/schemas/Pets"
default:
description: unexpected error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
components:
schemas:
Pet:
required:
- id
- name
properties:
id:
type: integer
format: int64
name:
type: string
tag:
type: string
Pets:
type: array
items:
$ref: "#/components/schemas/Pet"
Error:
required:
- code
- message
properties:
code:
type: integer
format: int32
message:
type: string
package.json
"dependencies": {
"pactum": "^3.5.1"
},
"devDependencies": {
"pactum-swagger-coverage": "^2.0.0"
},
Metadata
Metadata
Assignees
Labels
No labels