fix: add product count to storefront (#719)

This commit is contained in:
Sebastian Rindom
2021-11-04 15:32:48 +01:00
committed by GitHub
parent 0a65eca3de
commit 45b344fbe1
6 changed files with 49 additions and 46 deletions

View File

@@ -15,7 +15,7 @@ describe("/admin/discounts", () => {
beforeAll(async () => {
const cwd = path.resolve(path.join(__dirname, "..", ".."))
dbConnection = await initDb({ cwd })
medusaProcess = await setupServer({ cwd, verbose: true })
medusaProcess = await setupServer({ cwd })
})
afterAll(async () => {

View File

@@ -14,7 +14,7 @@ describe("/store/collections", () => {
beforeAll(async () => {
const cwd = path.resolve(path.join(__dirname, "..", ".."))
dbConnection = await initDb({ cwd })
medusaProcess = await setupServer({ cwd, verbose: true })
medusaProcess = await setupServer({ cwd })
})
afterAll(async () => {

View File

@@ -8,15 +8,15 @@
"build": "babel src -d dist --extensions \".ts,.js\""
},
"dependencies": {
"@medusajs/medusa": "1.1.46-dev-1635944259436",
"medusa-interfaces": "1.1.27-dev-1635944259436",
"@medusajs/medusa": "1.1.51-dev-1636035082111",
"medusa-interfaces": "1.1.27-dev-1636035082111",
"typeorm": "^0.2.31"
},
"devDependencies": {
"@babel/cli": "^7.12.10",
"@babel/core": "^7.12.10",
"@babel/node": "^7.12.10",
"babel-preset-medusa-package": "1.1.17-dev-1635944259436",
"babel-preset-medusa-package": "1.1.17-dev-1636035082111",
"jest": "^26.6.3"
}
}

View File

@@ -1223,10 +1223,10 @@
"@types/yargs" "^15.0.0"
chalk "^4.0.0"
"@medusajs/medusa-cli@1.1.22-dev-1635944259436":
version "1.1.22-dev-1635944259436"
resolved "http://localhost:4873/@medusajs%2fmedusa-cli/-/medusa-cli-1.1.22-dev-1635944259436.tgz#37c2a629d839646f3437e021e30c87e6ea288d62"
integrity sha512-YqP0XY1hXCprPOsnRZ8BRGs/maevYNrCHPzjSAu8PwI8A9p2/W19L1CQbSSUDI9JqJz5iyDZeioEuhNDrCnshQ==
"@medusajs/medusa-cli@1.1.22-dev-1636035082111":
version "1.1.22-dev-1636035082111"
resolved "http://localhost:4873/@medusajs%2fmedusa-cli/-/medusa-cli-1.1.22-dev-1636035082111.tgz#cc3b01e4cb29d0490d02424969c1f17e9b1d70d7"
integrity sha512-se2/umiJIf4n0k6mPaowPyVT/ZV42m/73GVecu/Xl/f+OfDmeUxaw+0sXHkEN9zkPbIjQVBqn3lrLnLAf0YXMg==
dependencies:
"@babel/polyfill" "^7.8.7"
"@babel/runtime" "^7.9.6"
@@ -1244,8 +1244,8 @@
is-valid-path "^0.1.1"
joi-objectid "^3.0.1"
meant "^1.0.1"
medusa-core-utils "1.1.26-dev-1635944259436"
medusa-telemetry "0.0.9-dev-1635944259436"
medusa-core-utils "1.1.26-dev-1636035082111"
medusa-telemetry "0.0.9-dev-1636035082111"
netrc-parser "^3.1.6"
open "^8.0.6"
ora "^5.4.1"
@@ -1259,13 +1259,13 @@
winston "^3.3.3"
yargs "^15.3.1"
"@medusajs/medusa@1.1.46-dev-1635944259436":
version "1.1.46-dev-1635944259436"
resolved "http://localhost:4873/@medusajs%2fmedusa/-/medusa-1.1.46-dev-1635944259436.tgz#0acd01bb6f4a643cab75ec8a38422885ada5a24f"
integrity sha512-hM8/UP0TJxz1Qhoc90GmaGdGi/DBGvdh8E3EINl3e6CncwPcS4hC4Jy8d/Dl1wgwIht+q3/v3JNdc4q6ALxGsw==
"@medusajs/medusa@1.1.51-dev-1636035082111":
version "1.1.51-dev-1636035082111"
resolved "http://localhost:4873/@medusajs%2fmedusa/-/medusa-1.1.51-dev-1636035082111.tgz#07cc9c130946e4d2f6cbd3794f309b4531a2d531"
integrity sha512-rKPIEgM9UhCGtW7zGnD76YdE5mdnDKnZDDhfIK86NysTELrBDwgiSkMbtGJEjPyRKsGw2GrWHzQl8Jjh6++PFQ==
dependencies:
"@hapi/joi" "^16.1.8"
"@medusajs/medusa-cli" "1.1.22-dev-1635944259436"
"@medusajs/medusa-cli" "1.1.22-dev-1636035082111"
"@types/lodash" "^4.14.168"
awilix "^4.2.3"
body-parser "^1.19.0"
@@ -1287,8 +1287,8 @@
joi "^17.3.0"
joi-objectid "^3.0.1"
jsonwebtoken "^8.5.1"
medusa-core-utils "1.1.26-dev-1635944259436"
medusa-test-utils "1.1.29-dev-1635944259436"
medusa-core-utils "1.1.26-dev-1636035082111"
medusa-test-utils "1.1.29-dev-1636035082111"
morgan "^1.9.1"
multer "^1.4.2"
passport "^0.4.0"
@@ -1911,10 +1911,10 @@ babel-preset-jest@^26.6.2:
babel-plugin-jest-hoist "^26.6.2"
babel-preset-current-node-syntax "^1.0.0"
babel-preset-medusa-package@1.1.17-dev-1635944259436:
version "1.1.17-dev-1635944259436"
resolved "http://localhost:4873/babel-preset-medusa-package/-/babel-preset-medusa-package-1.1.17-dev-1635944259436.tgz#0baa03fb4ae54ed3da805d13bd159271d84e06a6"
integrity sha512-zF8VNwk+ZVZJS1jpO0Zp93attDAOdsGEQmMLjko/fkEU3CgdPXW6GAB589m6Heq7EU9ZbCeP/IP7LnrBHuPBKw==
babel-preset-medusa-package@1.1.17-dev-1636035082111:
version "1.1.17-dev-1636035082111"
resolved "http://localhost:4873/babel-preset-medusa-package/-/babel-preset-medusa-package-1.1.17-dev-1636035082111.tgz#81fee3e5eedc5b2cad5e1a681008b78c84820b8c"
integrity sha512-42IWYf73jr8foy7hVJ38qxXltegRuxxTCh722iKSiHB+8k7rXOUZOaTrPpwX/xpFM4AtfrjyuyWnf7OTpCclpw==
dependencies:
"@babel/plugin-proposal-class-properties" "^7.12.1"
"@babel/plugin-proposal-decorators" "^7.12.1"
@@ -5089,25 +5089,25 @@ media-typer@0.3.0:
resolved "http://localhost:4873/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
medusa-core-utils@1.1.26-dev-1635944259436:
version "1.1.26-dev-1635944259436"
resolved "http://localhost:4873/medusa-core-utils/-/medusa-core-utils-1.1.26-dev-1635944259436.tgz#34a2bc6715a64d2aeaa09461f776651ab9a80349"
integrity sha512-xflDfs2HCNo7pPxyka9IWgOO7LAyFBoWYKWTZNBoAjiSDKBCpnsOPVMxK+1R5gBSf3PNzUl7Uca3VVCKGFuIPQ==
medusa-core-utils@1.1.26-dev-1636035082111:
version "1.1.26-dev-1636035082111"
resolved "http://localhost:4873/medusa-core-utils/-/medusa-core-utils-1.1.26-dev-1636035082111.tgz#873d54b1fbb07f70ff81a8cc9fd9fdf063745a52"
integrity sha512-3Nzyu/9Ah+IZVUFjFDyThqTe3CN19zopfym4r4xI4NcJ52fj+9LKRo5IPFQ6fBGQl6BUOnkDm8pbq2+H7qAa+w==
dependencies:
joi "^17.3.0"
joi-objectid "^3.0.1"
medusa-interfaces@1.1.27-dev-1635944259436:
version "1.1.27-dev-1635944259436"
resolved "http://localhost:4873/medusa-interfaces/-/medusa-interfaces-1.1.27-dev-1635944259436.tgz#f0354011a82bc33fd2c7d62a0e86a160ae62d9cb"
integrity sha512-YrwcjmFYFax5l+V4qNnx2VS2JN4ujPzke/TxKTUE7XLGVLcdBAjh0KbHBT490ozjVAa7ttLaPiM0ZHCIje+2vw==
medusa-interfaces@1.1.27-dev-1636035082111:
version "1.1.27-dev-1636035082111"
resolved "http://localhost:4873/medusa-interfaces/-/medusa-interfaces-1.1.27-dev-1636035082111.tgz#051fcc30aeb82fcc6b39c70f91156b523254f8a2"
integrity sha512-ZPYl6Ld9BCOIiJEJhXzlnuR219tqK/p6n98yWzG46vu4WU5E6K8vr6xmcfdsus3SdSYLoTMElW7yPyWS33MaQg==
dependencies:
medusa-core-utils "1.1.26-dev-1635944259436"
medusa-core-utils "1.1.26-dev-1636035082111"
medusa-telemetry@0.0.9-dev-1635944259436:
version "0.0.9-dev-1635944259436"
resolved "http://localhost:4873/medusa-telemetry/-/medusa-telemetry-0.0.9-dev-1635944259436.tgz#5b988da3745e39c9765aab3222bcfbe8e61c555b"
integrity sha512-S1csCqHJ5rhuY/IW+g2P6lnFGW4tmlf51/QovmwyiLuDg3x9AUoEdPow6ceWpoFylfo2rXmhzX4ByfHXd2qs9Q==
medusa-telemetry@0.0.9-dev-1636035082111:
version "0.0.9-dev-1636035082111"
resolved "http://localhost:4873/medusa-telemetry/-/medusa-telemetry-0.0.9-dev-1636035082111.tgz#bf416dfb8805ce43113b3e4652a5b64416bdf2bf"
integrity sha512-o8slI2PkBmKFKUgHJJfhBiHDfRNshEAIV5v87dLLWIv3xU2jNMJB8w4/OeHdf985jnjwoS1fcQ0EtqFwD3gUvQ==
dependencies:
axios "^0.21.1"
axios-retry "^3.1.9"
@@ -5119,13 +5119,13 @@ medusa-telemetry@0.0.9-dev-1635944259436:
remove-trailing-slash "^0.1.1"
uuid "^8.3.2"
medusa-test-utils@1.1.29-dev-1635944259436:
version "1.1.29-dev-1635944259436"
resolved "http://localhost:4873/medusa-test-utils/-/medusa-test-utils-1.1.29-dev-1635944259436.tgz#d341b2a1fd30a199905ad8907a1a62479f4c1f2d"
integrity sha512-1q/FAYkidnbUqTUkx8oMZVUQ3UIMVo8ul9zuU5NfE3MnldT/Yj4O8B2/UhyuHu5V7k97TC62buKbAbqQlw6Q4w==
medusa-test-utils@1.1.29-dev-1636035082111:
version "1.1.29-dev-1636035082111"
resolved "http://localhost:4873/medusa-test-utils/-/medusa-test-utils-1.1.29-dev-1636035082111.tgz#0af59b052e8868a73bab534da16b17ace1397f78"
integrity sha512-LfLPPSADEAZWapd1dYfmzbs99HDtWUGZutCl5cCzVQ3G3Xx5IoJDvmRFMxfaAdfhvF2WWCaJK3P37CNO8fHGww==
dependencies:
"@babel/plugin-transform-classes" "^7.9.5"
medusa-core-utils "1.1.26-dev-1635944259436"
medusa-core-utils "1.1.26-dev-1636035082111"
randomatic "^3.1.1"
merge-descriptors@1.0.1:

View File

@@ -16,8 +16,8 @@ describe("GET /store/products", () => {
})
it("calls get product from productSerice", () => {
expect(ProductServiceMock.list).toHaveBeenCalledTimes(1)
expect(ProductServiceMock.list).toHaveBeenCalledWith(
expect(ProductServiceMock.listAndCount).toHaveBeenCalledTimes(1)
expect(ProductServiceMock.listAndCount).toHaveBeenCalledWith(
{ status: ["published"] },
{ relations: defaultRelations, skip: 0, take: 100 }
)
@@ -41,8 +41,8 @@ describe("GET /store/products", () => {
})
it("calls list from productSerice", () => {
expect(ProductServiceMock.list).toHaveBeenCalledTimes(1)
expect(ProductServiceMock.list).toHaveBeenCalledWith(
expect(ProductServiceMock.listAndCount).toHaveBeenCalledTimes(1)
expect(ProductServiceMock.listAndCount).toHaveBeenCalledWith(
{ is_giftcard: true, status: ["published"] },
{ relations: defaultRelations, skip: 0, take: 100 }
)

View File

@@ -48,7 +48,10 @@ export default async (req, res) => {
take: limit,
}
const products = await productService.list(selector, listConfig)
const [products, count] = await productService.listAndCount(
selector,
listConfig
)
res.json({ products, count: products.length, offset, limit })
res.json({ products, count, offset, limit })
}