diff --git a/pom.xml b/pom.xml
index b444f3905fe..e35aae742e8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1245,15 +1245,6 @@
samples/client/petstore/typescript-fetch/tests/default
samples/client/petstore/typescript-node/npm
samples/client/petstore/typescript-rxjs/builds/with-npm-version
-
-
-
-
@@ -1373,6 +1364,11 @@
samples/server/petstore/go-api-server
samples/server/petstore/go-gin-api-server
samples/server/petstore/go-echo-server
+
+
+ samples/client/petstore/typescript-angular-v7-provided-in-root
diff --git a/samples/client/petstore/typescript-angular-v2/default/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v2/default/.openapi-generator/FILES
deleted file mode 100644
index 884a1427cbc..00000000000
--- a/samples/client/petstore/typescript-angular-v2/default/.openapi-generator/FILES
+++ /dev/null
@@ -1,20 +0,0 @@
-.gitignore
-README.md
-api.module.ts
-api/api.ts
-api/pet.service.ts
-api/store.service.ts
-api/user.service.ts
-configuration.ts
-encoder.ts
-git_push.sh
-index.ts
-model/./apiResponse.ts
-model/./category.ts
-model/./order.ts
-model/./pet.ts
-model/./tag.ts
-model/./user.ts
-model/models.ts
-rxjs-operators.ts
-variables.ts
diff --git a/samples/client/petstore/typescript-angular-v2/npm/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v2/npm/.openapi-generator/FILES
deleted file mode 100644
index 40e04aa9bb8..00000000000
--- a/samples/client/petstore/typescript-angular-v2/npm/.openapi-generator/FILES
+++ /dev/null
@@ -1,23 +0,0 @@
-.gitignore
-README.md
-api.module.ts
-api/api.ts
-api/pet.service.ts
-api/store.service.ts
-api/user.service.ts
-configuration.ts
-encoder.ts
-git_push.sh
-index.ts
-model/./apiResponse.ts
-model/./category.ts
-model/./order.ts
-model/./pet.ts
-model/./tag.ts
-model/./user.ts
-model/models.ts
-package.json
-rxjs-operators.ts
-rxjs-operators.ts
-tsconfig.json
-variables.ts
diff --git a/samples/client/petstore/typescript-angular-v2/with-interfaces/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v2/with-interfaces/.openapi-generator/FILES
deleted file mode 100644
index a1ca475da38..00000000000
--- a/samples/client/petstore/typescript-angular-v2/with-interfaces/.openapi-generator/FILES
+++ /dev/null
@@ -1,23 +0,0 @@
-.gitignore
-README.md
-api.module.ts
-api/api.ts
-api/pet.service.ts
-api/pet.serviceInterface.ts
-api/store.service.ts
-api/store.serviceInterface.ts
-api/user.service.ts
-api/user.serviceInterface.ts
-configuration.ts
-encoder.ts
-git_push.sh
-index.ts
-model/./apiResponse.ts
-model/./category.ts
-model/./order.ts
-model/./pet.ts
-model/./tag.ts
-model/./user.ts
-model/models.ts
-rxjs-operators.ts
-variables.ts
diff --git a/samples/client/petstore/typescript-angular-v4.3/npm/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v4.3/npm/.openapi-generator/FILES
deleted file mode 100644
index a2650d9db08..00000000000
--- a/samples/client/petstore/typescript-angular-v4.3/npm/.openapi-generator/FILES
+++ /dev/null
@@ -1,22 +0,0 @@
-.gitignore
-README.md
-api.module.ts
-api/api.ts
-api/pet.service.ts
-api/store.service.ts
-api/user.service.ts
-configuration.ts
-encoder.ts
-git_push.sh
-index.ts
-model/./apiResponse.ts
-model/./category.ts
-model/./order.ts
-model/./pet.ts
-model/./tag.ts
-model/./user.ts
-model/models.ts
-ng-package.json
-package.json
-tsconfig.json
-variables.ts
diff --git a/samples/client/petstore/typescript-angular-v4/npm/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v4/npm/.openapi-generator/FILES
deleted file mode 100644
index c8adab3a6f9..00000000000
--- a/samples/client/petstore/typescript-angular-v4/npm/.openapi-generator/FILES
+++ /dev/null
@@ -1,24 +0,0 @@
-.gitignore
-README.md
-api.module.ts
-api/api.ts
-api/pet.service.ts
-api/store.service.ts
-api/user.service.ts
-configuration.ts
-encoder.ts
-git_push.sh
-index.ts
-model/./apiResponse.ts
-model/./category.ts
-model/./order.ts
-model/./pet.ts
-model/./tag.ts
-model/./user.ts
-model/models.ts
-ng-package.json
-package.json
-rxjs-operators.ts
-rxjs-operators.ts
-tsconfig.json
-variables.ts
diff --git a/samples/client/petstore/typescript-angular-v7-provided-in-root/angular.json b/samples/client/petstore/typescript-angular-v7-provided-in-root/angular.json
index c8a34aab8b0..105361edb1a 100644
--- a/samples/client/petstore/typescript-angular-v7-provided-in-root/angular.json
+++ b/samples/client/petstore/typescript-angular-v7-provided-in-root/angular.json
@@ -94,33 +94,6 @@
}
}
}
- },
- "cli-e2e": {
- "root": "e2e/",
- "projectType": "application",
- "architect": {
- "e2e": {
- "builder": "@angular-devkit/build-angular:protractor",
- "options": {
- "protractorConfig": "tests/default/e2e/protractor.conf.js",
- "devServerTarget": "test-default:serve"
- },
- "configurations": {
- "production": {
- "devServerTarget": "test-default:serve:production"
- }
- }
- },
- "lint": {
- "builder": "@angular-devkit/build-angular:tslint",
- "options": {
- "tsConfig": "tests/default/e2e/tsconfig.e2e.json",
- "exclude": [
- "**/node_modules/**"
- ]
- }
- }
- }
}
},
"defaultProject": "test-default"
diff --git a/samples/client/petstore/typescript-angular-v7-provided-in-root/package-lock.json b/samples/client/petstore/typescript-angular-v7-provided-in-root/package-lock.json
index cc7c0718c18..2dd63ba9d63 100644
--- a/samples/client/petstore/typescript-angular-v7-provided-in-root/package-lock.json
+++ b/samples/client/petstore/typescript-angular-v7-provided-in-root/package-lock.json
@@ -812,18 +812,6 @@
"integrity": "sha512-jRHfWsvyMtXdbhnz5CVHxaBgnV6duZnPlQuRSo/dm/GnmikNcmZhxIES4E9OZjUmQ8C+HCl4KJux+cXN/ErGDQ==",
"dev": true
},
- "@types/q": {
- "version": "0.0.32",
- "resolved": "http://registry.npmjs.org/@types/q/-/q-0.0.32.tgz",
- "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=",
- "dev": true
- },
- "@types/selenium-webdriver": {
- "version": "3.0.13",
- "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.13.tgz",
- "integrity": "sha512-rI0LGoMiZGUM+tjDakQpwZOvcmQoubiJ7hxqrYU12VRxBuGGvOThxrBOU/QmJKlKg1WG6FMzuvcEyLffvVSsmw==",
- "dev": true
- },
"@webassemblyjs/ast": {
"version": "1.7.10",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.10.tgz",
@@ -1055,12 +1043,6 @@
"acorn": "^5.0.0"
}
},
- "adm-zip": {
- "version": "0.4.13",
- "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.13.tgz",
- "integrity": "sha512-fERNJX8sOXfel6qCBCMPvZLzENBEhZTzKqg6vrOW5pvoEaQuJhRU4ndTAh6lHOxn1I6jnz2NHra56ZODM751uw==",
- "dev": true
- },
"after": {
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
@@ -1281,6 +1263,7 @@
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
"integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
"dev": true,
+ "optional": true,
"requires": {
"safer-buffer": "~2.1.0"
}
@@ -1326,7 +1309,8 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"assign-symbols": {
"version": "1.0.0",
@@ -1363,7 +1347,8 @@
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"atob": {
"version": "2.1.2",
@@ -1389,13 +1374,15 @@
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"aws4": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
"integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
- "dev": true
+ "dev": true,
+ "optional": true
},
"babel-code-frame": {
"version": "6.26.0",
@@ -1622,6 +1609,7 @@
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
"integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
"dev": true,
+ "optional": true,
"requires": {
"tweetnacl": "^0.14.3"
}
@@ -1663,23 +1651,6 @@
"inherits": "~2.0.0"
}
},
- "blocking-proxy": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz",
- "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.0"
- },
- "dependencies": {
- "minimist": {
- "version": "1.2.0",
- "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
- "dev": true
- }
- }
- },
"bluebird": {
"version": "3.5.3",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz",
@@ -1851,15 +1822,6 @@
"node-releases": "^1.0.5"
}
},
- "browserstack": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.5.1.tgz",
- "integrity": "sha512-O8VMT64P9NOLhuIoD4YngyxBURefaSdR4QdhG8l6HZ9VxtU7jc3m6jLufFwKA5gaf7fetfB2TnRJnMxyob+heg==",
- "dev": true,
- "requires": {
- "https-proxy-agent": "^2.2.1"
- }
- },
"buffer": {
"version": "4.9.1",
"resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
@@ -2013,7 +1975,8 @@
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"chalk": {
"version": "2.4.1",
@@ -2253,6 +2216,7 @@
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
"integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
"dev": true,
+ "optional": true,
"requires": {
"delayed-stream": "~1.0.0"
}
@@ -2628,6 +2592,7 @@
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
"dev": true,
+ "optional": true,
"requires": {
"assert-plus": "^1.0.0"
}
@@ -2786,7 +2751,8 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"delegates": {
"version": "1.0.0",
@@ -2931,6 +2897,7 @@
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
"integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
"dev": true,
+ "optional": true,
"requires": {
"jsbn": "~0.1.0",
"safer-buffer": "^2.1.0"
@@ -3274,12 +3241,6 @@
}
}
},
- "exit": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
- "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
- "dev": true
- },
"expand-braces": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz",
@@ -3580,7 +3541,8 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"fast-deep-equal": {
"version": "2.0.1",
@@ -3763,13 +3725,15 @@
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"form-data": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
"integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
"dev": true,
+ "optional": true,
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.6",
@@ -4467,6 +4431,7 @@
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
"dev": true,
+ "optional": true,
"requires": {
"assert-plus": "^1.0.0"
}
@@ -4619,13 +4584,15 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"har-validator": {
"version": "5.1.3",
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
"integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
"dev": true,
+ "optional": true,
"requires": {
"ajv": "^6.5.5",
"har-schema": "^2.0.0"
@@ -4636,6 +4603,7 @@
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.1.tgz",
"integrity": "sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==",
"dev": true,
+ "optional": true,
"requires": {
"fast-deep-equal": "^2.0.1",
"fast-json-stable-stringify": "^2.0.0",
@@ -4856,6 +4824,7 @@
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
"dev": true,
+ "optional": true,
"requires": {
"assert-plus": "^1.0.0",
"jsprim": "^1.2.2",
@@ -4947,12 +4916,6 @@
"dev": true,
"optional": true
},
- "immediate": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
- "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=",
- "dev": true
- },
"import-cwd": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz",
@@ -5419,7 +5382,8 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"is-utf8": {
"version": "0.2.1",
@@ -5471,7 +5435,8 @@
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"istanbul": {
"version": "0.4.5",
@@ -5724,25 +5689,6 @@
"handlebars": "^4.0.11"
}
},
- "jasmine": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz",
- "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=",
- "dev": true,
- "requires": {
- "exit": "^0.1.2",
- "glob": "^7.0.6",
- "jasmine-core": "~2.8.0"
- },
- "dependencies": {
- "jasmine-core": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz",
- "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=",
- "dev": true
- }
- }
- },
"jasmine-core": {
"version": "2.99.1",
"resolved": "http://registry.npmjs.org/jasmine-core/-/jasmine-core-2.99.1.tgz",
@@ -5758,12 +5704,6 @@
"colors": "1.1.2"
}
},
- "jasminewd2": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz",
- "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=",
- "dev": true
- },
"js-base64": {
"version": "2.4.9",
"resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.9.tgz",
@@ -5799,7 +5739,8 @@
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"jsesc": {
"version": "1.3.0",
@@ -5817,7 +5758,8 @@
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"json-schema-traverse": {
"version": "0.4.1",
@@ -5829,7 +5771,8 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"json3": {
"version": "3.3.2",
@@ -5854,6 +5797,7 @@
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
"dev": true,
+ "optional": true,
"requires": {
"assert-plus": "1.0.0",
"extsprintf": "1.3.0",
@@ -5861,59 +5805,6 @@
"verror": "1.10.0"
}
},
- "jszip": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.5.tgz",
- "integrity": "sha512-5W8NUaFRFRqTOL7ZDDrx5qWHJyBXy6velVudIzQUSoqAAYqzSh2Z7/m0Rf1QbmQJccegD0r+YZxBjzqoBiEeJQ==",
- "dev": true,
- "requires": {
- "core-js": "~2.3.0",
- "es6-promise": "~3.0.2",
- "lie": "~3.1.0",
- "pako": "~1.0.2",
- "readable-stream": "~2.0.6"
- },
- "dependencies": {
- "core-js": {
- "version": "2.3.0",
- "resolved": "http://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz",
- "integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU=",
- "dev": true
- },
- "es6-promise": {
- "version": "3.0.2",
- "resolved": "http://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz",
- "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=",
- "dev": true
- },
- "process-nextick-args": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
- "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
- "dev": true
- },
- "readable-stream": {
- "version": "2.0.6",
- "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
- "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "~1.0.0",
- "process-nextick-args": "~1.0.6",
- "string_decoder": "~0.10.x",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "0.10.31",
- "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
- "dev": true
- }
- }
- },
"karma": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/karma/-/karma-3.0.0.tgz",
@@ -6084,15 +5975,6 @@
"webpack-sources": "^1.2.0"
}
},
- "lie": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz",
- "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=",
- "dev": true,
- "requires": {
- "immediate": "~3.0.5"
- }
- },
"load-json-file": {
"version": "1.1.0",
"resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
@@ -7028,7 +6910,8 @@
"version": "0.9.0",
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
"integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
- "dev": true
+ "dev": true,
+ "optional": true
},
"object-assign": {
"version": "4.1.1",
@@ -7597,7 +7480,8 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"pify": {
"version": "3.0.0",
@@ -7764,138 +7648,6 @@
"genfun": "^5.0.0"
}
},
- "protractor": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/protractor/-/protractor-5.4.1.tgz",
- "integrity": "sha512-ORey5ewQMYiXQxcQohsqEiKYOg/r5yJoJbt0tuROmmgajdg/CA3gTOZNIFJncUVMAJIk5YFqBBLUjKVmQO6tfA==",
- "dev": true,
- "requires": {
- "@types/node": "^6.0.46",
- "@types/q": "^0.0.32",
- "@types/selenium-webdriver": "^3.0.0",
- "blocking-proxy": "^1.0.0",
- "browserstack": "^1.5.1",
- "chalk": "^1.1.3",
- "glob": "^7.0.3",
- "jasmine": "2.8.0",
- "jasminewd2": "^2.1.0",
- "optimist": "~0.6.0",
- "q": "1.4.1",
- "saucelabs": "^1.5.0",
- "selenium-webdriver": "3.6.0",
- "source-map-support": "~0.4.0",
- "webdriver-js-extender": "2.1.0",
- "webdriver-manager": "^12.0.6"
- },
- "dependencies": {
- "@types/node": {
- "version": "6.14.2",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-6.14.2.tgz",
- "integrity": "sha512-JWB3xaVfsfnFY8Ofc9rTB/op0fqqTSqy4vBcVk1LuRJvta7KTX+D//fCkiTMeLGhdr2EbFZzQjC97gvmPilk9Q==",
- "dev": true
- },
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
- "dev": true
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "dev": true,
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- }
- },
- "del": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
- "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
- "dev": true,
- "requires": {
- "globby": "^5.0.0",
- "is-path-cwd": "^1.0.0",
- "is-path-in-cwd": "^1.0.0",
- "object-assign": "^4.0.1",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0",
- "rimraf": "^2.2.8"
- }
- },
- "globby": {
- "version": "5.0.0",
- "resolved": "http://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
- "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
- "dev": true,
- "requires": {
- "array-union": "^1.0.1",
- "arrify": "^1.0.0",
- "glob": "^7.0.3",
- "object-assign": "^4.0.1",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- }
- },
- "minimist": {
- "version": "1.2.0",
- "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
- "dev": true
- },
- "pify": {
- "version": "2.3.0",
- "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
- "dev": true
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
- },
- "source-map-support": {
- "version": "0.4.18",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
- "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
- "dev": true,
- "requires": {
- "source-map": "^0.5.6"
- }
- },
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
- "dev": true
- },
- "webdriver-manager": {
- "version": "12.1.0",
- "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.0.tgz",
- "integrity": "sha512-oEc5fmkpz6Yh6udhwir5m0eN5mgRPq9P/NU5YWuT3Up5slt6Zz+znhLU7q4+8rwCZz/Qq3Fgpr/4oao7NPCm2A==",
- "dev": true,
- "requires": {
- "adm-zip": "^0.4.9",
- "chalk": "^1.1.1",
- "del": "^2.2.0",
- "glob": "^7.0.3",
- "ini": "^1.3.4",
- "minimist": "^1.2.0",
- "q": "^1.4.1",
- "request": "^2.87.0",
- "rimraf": "^2.5.2",
- "semver": "^5.3.0",
- "xml2js": "^0.4.17"
- }
- }
- }
- },
"proxy-addr": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz",
@@ -7922,7 +7674,8 @@
"version": "1.1.29",
"resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz",
"integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==",
- "dev": true
+ "dev": true,
+ "optional": true
},
"public-encrypt": {
"version": "4.0.3",
@@ -7965,12 +7718,6 @@
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
"dev": true
},
- "q": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
- "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=",
- "dev": true
- },
"qjobs": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz",
@@ -8296,6 +8043,7 @@
"resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
"integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
"dev": true,
+ "optional": true,
"requires": {
"aws-sign2": "~0.7.0",
"aws4": "^1.8.0",
@@ -8491,15 +8239,6 @@
"semver": "^5.5.0"
}
},
- "saucelabs": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz",
- "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==",
- "dev": true,
- "requires": {
- "https-proxy-agent": "^2.2.1"
- }
- },
"sax": {
"version": "0.5.8",
"resolved": "http://registry.npmjs.org/sax/-/sax-0.5.8.tgz",
@@ -8546,29 +8285,6 @@
"integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=",
"dev": true
},
- "selenium-webdriver": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz",
- "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==",
- "dev": true,
- "requires": {
- "jszip": "^3.1.3",
- "rimraf": "^2.5.4",
- "tmp": "0.0.30",
- "xml2js": "^0.4.17"
- },
- "dependencies": {
- "tmp": {
- "version": "0.0.30",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz",
- "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=",
- "dev": true,
- "requires": {
- "os-tmpdir": "~1.0.1"
- }
- }
- }
- },
"selfsigned": {
"version": "1.10.4",
"resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.4.tgz",
@@ -9219,6 +8935,7 @@
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz",
"integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==",
"dev": true,
+ "optional": true,
"requires": {
"asn1": "~0.2.3",
"assert-plus": "^1.0.0",
@@ -9772,6 +9489,7 @@
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
"integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
"dev": true,
+ "optional": true,
"requires": {
"psl": "^1.1.24",
"punycode": "^1.4.1"
@@ -9781,7 +9499,8 @@
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
- "dev": true
+ "dev": true,
+ "optional": true
}
}
},
@@ -9894,6 +9613,7 @@
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
"dev": true,
+ "optional": true,
"requires": {
"safe-buffer": "^5.0.1"
}
@@ -9902,7 +9622,8 @@
"version": "0.14.5",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"type-check": {
"version": "0.3.2",
@@ -10240,6 +9961,7 @@
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
"dev": true,
+ "optional": true,
"requires": {
"assert-plus": "^1.0.0",
"core-util-is": "1.0.2",
@@ -10281,16 +10003,6 @@
"minimalistic-assert": "^1.0.0"
}
},
- "webdriver-js-extender": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz",
- "integrity": "sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==",
- "dev": true,
- "requires": {
- "@types/selenium-webdriver": "^3.0.0",
- "selenium-webdriver": "^3.0.1"
- }
- },
"webpack": {
"version": "4.23.1",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-4.23.1.tgz",
@@ -10745,30 +10457,6 @@
"ultron": "~1.1.0"
}
},
- "xml2js": {
- "version": "0.4.19",
- "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz",
- "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==",
- "dev": true,
- "requires": {
- "sax": ">=0.6.0",
- "xmlbuilder": "~9.0.1"
- },
- "dependencies": {
- "sax": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
- "dev": true
- }
- }
- },
- "xmlbuilder": {
- "version": "9.0.7",
- "resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
- "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=",
- "dev": true
- },
"xmlhttprequest-ssl": {
"version": "1.5.5",
"resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz",
diff --git a/samples/client/petstore/typescript-angular-v7-provided-in-root/package.json b/samples/client/petstore/typescript-angular-v7-provided-in-root/package.json
index 74aa7304975..ed39199cc57 100644
--- a/samples/client/petstore/typescript-angular-v7-provided-in-root/package.json
+++ b/samples/client/petstore/typescript-angular-v7-provided-in-root/package.json
@@ -6,8 +6,7 @@
"start": "ng serve",
"build": "ng build",
"test": "ng test",
- "lint": "ng lint",
- "e2e": "ng e2e"
+ "lint": "ng lint"
},
"private": true,
"dependencies": {
@@ -40,7 +39,6 @@
"karma-coverage-istanbul-reporter": "~2.0.1",
"karma-jasmine": "~1.1.2",
"karma-jasmine-html-reporter": "^0.2.2",
- "protractor": "~5.4.0",
"ts-node": "~7.0.0",
"tslint": "~5.11.0",
"typescript": "~3.1.6"
diff --git a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/e2e/protractor.conf.js b/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/e2e/protractor.conf.js
deleted file mode 100644
index 86776a391a5..00000000000
--- a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/e2e/protractor.conf.js
+++ /dev/null
@@ -1,28 +0,0 @@
-// Protractor configuration file, see link for more information
-// https://github.com/angular/protractor/blob/master/lib/config.ts
-
-const { SpecReporter } = require('jasmine-spec-reporter');
-
-exports.config = {
- allScriptsTimeout: 11000,
- specs: [
- './src/**/*.e2e-spec.ts'
- ],
- capabilities: {
- 'browserName': 'chrome'
- },
- directConnect: true,
- baseUrl: 'http://localhost:4200/',
- framework: 'jasmine',
- jasmineNodeOpts: {
- showColors: true,
- defaultTimeoutInterval: 30000,
- print: function() {}
- },
- onPrepare() {
- require('ts-node').register({
- project: require('path').join(__dirname, './tsconfig.e2e.json')
- });
- jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
- }
-};
\ No newline at end of file
diff --git a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/e2e/src/app.e2e-spec.ts b/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/e2e/src/app.e2e-spec.ts
deleted file mode 100644
index bb7c3fece57..00000000000
--- a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/e2e/src/app.e2e-spec.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { AppPage } from './app.po';
-
-describe('workspace-project App', () => {
- let page: AppPage;
-
- beforeEach(() => {
- page = new AppPage();
- });
-
- it('should display welcome message', () => {
- page.navigateTo();
- expect(page.getParagraphText()).toEqual('Welcome to Typescript Angular v7 (provided in root)!');
- });
-});
diff --git a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/e2e/src/app.po.ts b/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/e2e/src/app.po.ts
deleted file mode 100644
index 82ea75ba504..00000000000
--- a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/e2e/src/app.po.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { browser, by, element } from 'protractor';
-
-export class AppPage {
- navigateTo() {
- return browser.get('/');
- }
-
- getParagraphText() {
- return element(by.css('app-root h1')).getText();
- }
-}
diff --git a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/e2e/tsconfig.e2e.json b/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/e2e/tsconfig.e2e.json
deleted file mode 100644
index fe036e83a45..00000000000
--- a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/e2e/tsconfig.e2e.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "extends": "../../../tsconfig.json",
- "compilerOptions": {
- "outDir": "../out-tsc/app",
- "module": "commonjs",
- "target": "es5",
- "types": [
- "jasmine",
- "jasminewd2",
- "node"
- ]
- }
-}
diff --git a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/app/app.component.spec.ts b/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/app/app.component.spec.ts
index fd77f0b021c..3495ad9e0e5 100644
--- a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/app/app.component.spec.ts
+++ b/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/app/app.component.spec.ts
@@ -9,6 +9,7 @@ import {
UserService,
} from '@swagger/typescript-angular-petstore';
import { AppComponent } from './app.component';
+import {fakePetstoreBackendProviders} from "../test/fakeBackend";
describe('AppComponent', () => {
@@ -34,6 +35,7 @@ describe('AppComponent', () => {
PetService,
StoreService,
UserService,
+ ...fakePetstoreBackendProviders,
],
declarations: [
AppComponent,
diff --git a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/karma.conf.js b/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/karma.conf.js
index b870f8aa643..4a9730b9b6f 100644
--- a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/karma.conf.js
+++ b/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/karma.conf.js
@@ -8,7 +8,6 @@ module.exports = function (config) {
plugins: [
require('karma-jasmine'),
require('karma-chrome-launcher'),
- // require('karma-phantomjs-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-coverage-istanbul-reporter'),
require('@angular-devkit/build-angular/plugins/karma')
diff --git a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/test/api.spec.ts b/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/test/api.spec.ts
index f72a63e706a..572aed4b3f1 100644
--- a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/test/api.spec.ts
+++ b/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/test/api.spec.ts
@@ -1,5 +1,5 @@
import { TestBed, async } from '@angular/core/testing';
-import { HttpClientModule } from '@angular/common/http';
+import {HttpClientModule} from '@angular/common/http';
import {
ApiModule,
Configuration,
@@ -10,6 +10,8 @@ import {
Pet,
User,
} from '@swagger/typescript-angular-petstore';
+import {fakePetstoreBackendProviders} from "./fakeBackend";
+import {switchMap} from "rxjs/operators";
describe(`API (functionality)`, () => {
@@ -30,7 +32,6 @@ describe(`API (functionality)`, () => {
};
const newPet: Pet = getPet();
- let createdPet: Pet;
const newUser: User = getUser();
@@ -45,8 +46,6 @@ describe(`API (functionality)`, () => {
return apiConfig;
};
- let originalTimeout;
-
beforeEach(() => {
TestBed.configureTestingModule({
imports: [
@@ -57,15 +56,9 @@ describe(`API (functionality)`, () => {
PetService,
StoreService,
UserService,
+ ...fakePetstoreBackendProviders,
]
});
-
- originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
- jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000;
- });
-
- afterEach(() => {
- jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
});
describe(`PetService`, () => {
@@ -79,59 +72,45 @@ describe(`API (functionality)`, () => {
return petService.addPet(newPet).subscribe(
(result) => {
- createdPet = result;
- return expect(result.id).toBeGreaterThan(0);
+ expect(result.id).toBeGreaterThan(0);
+ expect(result.name).toBe(newPet.name);
},
- error => fail(`expected a result, not the error: ${error.message}`),
);
}));
- it(`should have created a pet`, () => {
- expect(createdPet.name).toEqual(newPet.name);
- });
-
it(`should get the pet data by id`, async(() => {
const petService = TestBed.get(PetService);
- return petService.getPetById(createdPet.id).subscribe(
- result => expect(result.name).toEqual(newPet.name),
- error => fail(`expected a result, not the error: ${error.message}`),
+ return petService.addPet(newPet).pipe(
+ switchMap((addedPet: Pet) => petService.getPetById(addedPet.id))
+ ).subscribe(
+ result => {
+ return expect(result.name).toBe(newPet.name);
+ },
);
}));
it(`should update the pet name by pet object`, async(() => {
const petService = TestBed.get(PetService);
- const newName = `pet-${Date.now()}`;
- createdPet.name = newName;
- return petService.updatePet(createdPet).subscribe(
- result => expect(result.name).toEqual(newName),
+
+ return petService.addPet(newPet).pipe(
+ switchMap((addedPet: Pet) => petService.updatePet({
+ ...addedPet,
+ name: 'something else'
+ }))
+ ).subscribe(
+ result => expect(result.name).toBe('something else'),
error => fail(`expected a result, not the error: ${error.message}`),
);
}));
- it(`should update the pet name by form`, async(() => {
- const petService = TestBed.get(PetService);
- const newName = `pet-${Date.now()}`;
- createdPet.name = newName;
-
- petService.updatePetWithForm(createdPet.id, createdPet.name).subscribe(
- result => expect(result.code).toEqual(200),
- error => fail(`expected a result, not the error: ${error.message}`),
- );
-
- return petService.getPetById(createdPet.id).subscribe(
- result => expect(result.name).toEqual(createdPet.name),
- error => fail(`expected a result, not the error: ${error.message}`),
- );
-
- }));
-
it(`should delete the pet`, async(() => {
const petService = TestBed.get(PetService);
- return petService.deletePet(createdPet.id).subscribe(
- result => expect(result.code).toEqual(200),
- error => fail(`expected a result, not the error: ${error.message}`),
+ return petService.addPet(newPet).pipe(
+ switchMap((addedPet: Pet) => petService.deletePet(addedPet.id, undefined, 'response')),
+ ).subscribe(
+ result => expect(result.status).toEqual(200),
);
}));
@@ -147,7 +126,7 @@ describe(`API (functionality)`, () => {
const storeService = TestBed.get(StoreService);
return storeService.getInventory().subscribe(
- result => expect(result).toBeTruthy(),
+ result => expect(result.mega).toBe(42),
error => fail(`expected a result, not the error: ${error.message}`),
);
@@ -164,9 +143,8 @@ describe(`API (functionality)`, () => {
it(`should create the user`, async(() => {
const userService = TestBed.get(UserService);
- return userService.createUser(newUser).subscribe(
- result => expect(result.code).toEqual(200),
- error => fail(`expected a result, not the error: ${error.message}`),
+ return userService.createUser(newUser, 'response').subscribe(
+ result => expect(result.status).toEqual(200),
);
}));
diff --git a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/test/fakeBackend.ts b/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/test/fakeBackend.ts
new file mode 100644
index 00000000000..2ea690270ce
--- /dev/null
+++ b/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/test/fakeBackend.ts
@@ -0,0 +1,92 @@
+import {Injectable, Provider} from '@angular/core';
+import {Observable, Observer} from 'rxjs';
+import {
+ HTTP_INTERCEPTORS,
+ HttpEvent,
+ HttpEventType,
+ HttpHandler,
+ HttpInterceptor,
+ HttpRequest
+} from '@angular/common/http';
+import { TestRequest } from "@angular/common/http/testing";
+import { Pet } from "@swagger/typescript-angular-petstore";
+
+@Injectable()
+export class FakePetstoreBackendInterceptor implements HttpInterceptor {
+ private fakePetstoreBackend = new FakePetstoreBackend()
+
+ constructor() {
+
+ }
+
+ intercept(req: HttpRequest, next: HttpHandler): Observable> {
+ const parsedUrl = new URL(req.url);
+ if (parsedUrl.pathname.indexOf('/v2/pet') === 0) {
+ if (req.method === 'GET') {
+ const pathParts = parsedUrl.pathname.split('/');
+ const petId = parseInt(pathParts[pathParts.length-1], 10);
+ return this.respond(req, this.fakePetstoreBackend.getPet(petId));
+ } else if (req.method === 'POST') {
+ return this.respond(req, this.fakePetstoreBackend.addPet(req.body));
+ } else if (req.method === 'PUT') {
+ return this.respond(req, this.fakePetstoreBackend.updatePet(req.body));
+ } else if (req.method === 'DELETE') {
+ const pathParts = parsedUrl.pathname.split('/');
+ const petId = parseInt(pathParts[pathParts.length-1], 10);
+ this.fakePetstoreBackend.deletePet(petId);
+ return this.respond(req, {});
+ }
+ } else if (parsedUrl.pathname.indexOf('/v2/store/inventory') === 0) {
+ if (req.method === 'GET') {
+ return this.respond(req, {mega: 42});
+ }
+ } else if (parsedUrl.pathname.indexOf('/v2/user') === 0) {
+ if (req.method === 'POST') {
+ return this.respond(req, {mega: 42});
+ }
+ }
+ throw new Error('Http call not implemented in fake backend. ' + req.url);
+ }
+
+ private respond(request: HttpRequest, response: any): Observable> {
+ return new Observable((observer: Observer) => {
+ const testReq = new TestRequest(request, observer);
+ observer.next({ type: HttpEventType.Sent } as HttpEvent);
+ testReq.flush(response);
+ return () => { };
+ });
+ }
+}
+
+@Injectable()
+class FakePetstoreBackend {
+ private nextId = 1;
+ private pets: Map = new Map();
+
+ public getPet(id: number): Pet {
+ return this.pets.get(String(id));
+ }
+
+ public addPet(pet: Pet): Pet {
+ const id = this.nextId++;
+ this.pets.set(String(id), {
+ ...pet,
+ id
+ });
+ return this.getPet(id);
+ }
+
+ public updatePet(pet: Pet): Pet {
+ this.pets.set(String(pet.id), pet);
+ return pet;
+ }
+
+ public deletePet(id: number): void {
+ this.pets.delete(String(id));
+ }
+}
+
+
+export const fakePetstoreBackendProviders: Provider[] = [
+ {provide: HTTP_INTERCEPTORS, useClass: FakePetstoreBackendInterceptor, multi: true},
+];