@field123/hacksprint-2022-js-sdk-test-response-generation 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/README.md ADDED
@@ -0,0 +1,43 @@
1
+ # @field123/hacksprint-2022-js-sdk-test-response-generation
2
+
3
+ # Test Data Retrival Script
4
+
5
+ The script populates a store with test data, runs CURL calls to get data then tears down the data to create a clean slate.
6
+
7
+ Utilizes the [EPCC Terraform Provider](https://registry.terraform.io/providers/elasticpath/epcc/latest) to populate and tear down down data in a store.
8
+
9
+ ## Setup
10
+
11
+ Create a `.env` file based on the `.env.example` file.
12
+
13
+ ## Install
14
+
15
+ ```sh
16
+ yarn add -D @field123/hacksprint-2022-js-sdk-test-response-generation
17
+ ```
18
+
19
+ ## Usage
20
+
21
+ ```sh
22
+ npx hacksprint-2022-js-sdk-test-response-generation endpoints -s <source> -o <dest> -e <environment-file>
23
+ ```
24
+
25
+ ```sh
26
+ npx hacksprint-2022-js-sdk-test-response-generation endpoints -s ./postman-export/postman_collection.json -o ./output -e ./postman-export/postman_environment.json
27
+ ```
28
+
29
+ ```sh
30
+ npx hacksprint-2022-js-sdk-test-response-generation endpoints -s ./postman-export/postman_collection.json -o ./output -e ./postman-export/postman_environment.json -v
31
+ ```
32
+
33
+ | Key | CLI opt | Default | Description |
34
+ | ---- | ----------------- | -------- | ------------------------------------------------------ |
35
+ | s | --source \<file\> | required | Source postman collection json file. |
36
+ | e | --env \<file\> | required | Source postman environment json file. |
37
+ | o | --output \<dir\> | \<dir\> | Output location for the generated endpoint json files. |
38
+ | v | --verbose | false | Logs details of terraform commands to console. |
39
+ | help | -h, --help | n/a | display help for command |
40
+
41
+ ## Sources
42
+
43
+ `main.tf` comes from this repo: https://gitlab.elasticpath.com/commerce-cloud/playground/sample-catalogs-accelerator/-/blob/MT-11900/store-scope/variants/get-started-with-pcm-catalog/main.tf
package/dist/main.tf ADDED
@@ -0,0 +1,164 @@
1
+ terraform {
2
+ required_providers {
3
+ epcc = {
4
+ source = "elasticpath/epcc"
5
+ version = "0.0.2"
6
+ }
7
+ }
8
+ }
9
+
10
+ provider "epcc" {
11
+ }
12
+
13
+ resource "epcc_hierarchy" "major_appliances" {
14
+ name = "Major Appliances"
15
+ description = "Free standing appliances"
16
+ slug = "Major-Appliances-MA0"
17
+ }
18
+
19
+ resource "epcc_node" "ranges" {
20
+ hierarchy_id = epcc_hierarchy.major_appliances.id
21
+ name = "Ranges"
22
+ description = "All stoves and ovens"
23
+ slug = "Ranges-MA1"
24
+ }
25
+
26
+ resource "epcc_node" "electric_ranges" {
27
+ hierarchy_id = epcc_hierarchy.major_appliances.id
28
+ parent_id = epcc_node.ranges.id
29
+ name = "Electric Ranges"
30
+ description = "Electric stoves and ovens"
31
+ slug = "Electric-Ranges-MA2"
32
+ }
33
+
34
+ resource "epcc_node" "gas_ranges" {
35
+ hierarchy_id = epcc_hierarchy.major_appliances.id
36
+ parent_id = epcc_node.ranges.id
37
+ name = "Gas Ranges"
38
+ description = "Gas stoves and ovens"
39
+ slug = "Ranges-MA2"
40
+ }
41
+
42
+ resource "epcc_product" "be_electric_range" {
43
+ name = "BestEver Electric Range"
44
+ sku = "BE-Electric-Range-1a1a"
45
+ slug = "bestever-range-1a1a"
46
+ description = "This electric model offers an induction heating element and convection oven."
47
+ status = "live"
48
+ commodity_type = "physical"
49
+ upc_ean = "111122223333"
50
+ mpn = "BE-R-1111-aaaa-1a1a"
51
+ }
52
+
53
+ resource "epcc_node_product" "electric_ranges_be_electric_range" {
54
+ hierarchy_id = epcc_hierarchy.major_appliances.id
55
+ node_id = epcc_node.electric_ranges.id
56
+ product_id = epcc_product.be_electric_range.id
57
+ }
58
+
59
+ resource "epcc_product" "be_gas_range" {
60
+ name = "BestEver Gas Range"
61
+ sku = "BE-Gas-Range-2b2b"
62
+ slug = "bestever-range-2b2b"
63
+ description = "This gas model includes a convection oven."
64
+ status = "live"
65
+ commodity_type = "physical"
66
+ upc_ean = "222233334444"
67
+ mpn = "BE-R-2222-bbbb-2b2b"
68
+ }
69
+
70
+ resource "epcc_node_product" "gas_ranges_bestever_gas_range" {
71
+ hierarchy_id = epcc_hierarchy.major_appliances.id
72
+ node_id = epcc_node.gas_ranges.id
73
+ product_id = epcc_product.be_gas_range.id
74
+ }
75
+
76
+ resource "epcc_currency" "british_pound_sterling" {
77
+ code = "GBP"
78
+ exchange_rate = 1
79
+ format = "£{price}"
80
+ decimal_point = "."
81
+ thousand_separator = ","
82
+ decimal_places = 2
83
+ default = false
84
+ enabled = true
85
+ }
86
+
87
+ resource "epcc_pricebook" "preferred_pricing" {
88
+ name = "Preferred Pricing"
89
+ description = "Catalog with pricing suitable for high-volume customers."
90
+ }
91
+
92
+ resource "epcc_product_price" "be_electric_range_price" {
93
+ currency {
94
+ code = "USD"
95
+ amount = 300000
96
+ includes_tax = false
97
+ }
98
+ currency {
99
+ code = epcc_currency.british_pound_sterling.code
100
+ amount = 250000
101
+ includes_tax = false
102
+ }
103
+ pricebook_id = epcc_pricebook.preferred_pricing.id
104
+ sku = epcc_product.be_electric_range.sku
105
+ }
106
+
107
+ resource "epcc_product_price" "be_gas_range_price" {
108
+ currency {
109
+ code = "USD"
110
+ amount = 350000
111
+ includes_tax = false
112
+ }
113
+ currency {
114
+ code = epcc_currency.british_pound_sterling.code
115
+ amount = 300000
116
+ includes_tax = false
117
+ }
118
+ pricebook_id = epcc_pricebook.preferred_pricing.id
119
+ sku = epcc_product.be_gas_range.sku
120
+ }
121
+
122
+ resource "epcc_catalog" "ranges_catalog" {
123
+ name = "Ranges Catalog"
124
+ description = "Catalog of Ranges"
125
+ hierarchies = [epcc_hierarchy.major_appliances.id]
126
+ pricebook = epcc_pricebook.preferred_pricing.id
127
+ }
128
+
129
+ resource "epcc_customer" "billy_bob" {
130
+ name = "Billy Bob"
131
+ email = "billybob@example.com"
132
+ }
133
+
134
+ resource "epcc_catalog_rule" "preferred_customer_pricing" {
135
+ name = "Preferred Customer Pricing"
136
+ description = "Preferred customer pricing"
137
+ catalog = epcc_catalog.ranges_catalog.id
138
+ customers = [epcc_customer.billy_bob.id]
139
+ }
140
+
141
+ output "epcc_hierarchy_id" {
142
+ value = epcc_hierarchy.major_appliances.id
143
+ }
144
+
145
+ output "epcc_product_id" {
146
+ value = epcc_product.be_electric_range.id
147
+ }
148
+
149
+ output "epcc_customer_id" {
150
+ value = epcc_customer.billy_bob.id
151
+ }
152
+
153
+ output "epcc_customer_email" {
154
+ value = epcc_customer.billy_bob.email
155
+ }
156
+
157
+
158
+ output "epcc_catalog_id" {
159
+ value = epcc_catalog.ranges_catalog.id
160
+ }
161
+
162
+ output "epcc_currency_id" {
163
+ value = epcc_currency.british_pound_sterling.id
164
+ }
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "@field123/hacksprint-2022-js-sdk-test-response-generation",
3
+ "version": "0.0.1",
4
+ "main": "dist/cli.js",
5
+ "repository": "https://gitlab.elasticpath.com/Michelle.Wan/hacksprint-2022-js-sdk-test-response-generation.git",
6
+ "author": "Elastic Path",
7
+ "scripts": {
8
+ "postinstall": "terraform init && terraform get",
9
+ "build": "tsup && yarn build:copy:terra",
10
+ "build:copy:terra": "cp package.json dist/ && cp README.md dist/ && cp main.tf dist/",
11
+ "semantic-release": "semantic-release"
12
+ },
13
+ "files": [
14
+ "dist/"
15
+ ],
16
+ "devDependencies": {
17
+ "@semantic-release/git": "^10.0.1",
18
+ "@semantic-release/gitlab": "^9.1.0",
19
+ "@semantic-release/npm": "^9.0.1",
20
+ "@types/node": "^17.0.23",
21
+ "semantic-release": "^19.0.2",
22
+ "tsup": "^5.12.4",
23
+ "typescript": "^4.6.3"
24
+ },
25
+ "dependencies": {
26
+ "@field123/newman-reporter-ep-resp": "^0.0.5",
27
+ "@jahed/terraform": "1.1.7",
28
+ "@types/newman": "^5.3.0",
29
+ "axios": "^0.26.1",
30
+ "commander": "^9.1.0",
31
+ "dotenv": "^16.0.0",
32
+ "newman": "^5.3.2"
33
+ },
34
+ "publishConfig": {
35
+ "access": "public"
36
+ },
37
+ "bin": {
38
+ "hacksprint-2022-js-sdk-test-response-generation": "dist/cli.js"
39
+ }
40
+ }
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@field123/hacksprint-2022-js-sdk-test-response-generation",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "main": "dist/cli.js",
5
5
  "repository": "https://gitlab.elasticpath.com/Michelle.Wan/hacksprint-2022-js-sdk-test-response-generation.git",
6
6
  "author": "Elastic Path",
7
7
  "scripts": {
8
8
  "postinstall": "terraform init && terraform get",
9
- "build": "tsup",
9
+ "build": "tsup && yarn build:copy:terra",
10
+ "build:copy:terra": "cp package.json dist/ && cp README.md dist/ && cp main.tf dist/",
10
11
  "semantic-release": "semantic-release"
11
12
  },
12
13
  "files": [