diff --git a/integration-tests/api/__tests__/admin/gift-cards.js b/integration-tests/api/__tests__/admin/gift-cards.js index 2cf141ccb3..505354159d 100644 --- a/integration-tests/api/__tests__/admin/gift-cards.js +++ b/integration-tests/api/__tests__/admin/gift-cards.js @@ -144,6 +144,13 @@ describe("/admin/gift-cards", () => { currency_code: "usd", tax_rate: 0, }) + await manager.insert(GiftCard, { + id: "gift_test", + code: "GC_TEST", + value: 20000, + balance: 20000, + region_id: "region", + }) } catch (err) { console.log(err) throw err @@ -155,6 +162,29 @@ describe("/admin/gift-cards", () => { await db.teardown() }) + it("updates a balance", async () => { + const api = useApi() + + const response = await api + .post( + "/admin/gift-cards/gift_test", + { + balance: 0, + }, + { + headers: { + Authorization: "Bearer test_token", + }, + } + ) + .catch((err) => { + console.log(err) + }) + + expect(response.status).toEqual(200) + expect(response.data.gift_card.balance).toEqual(0) + }) + it("creates a gift card", async () => { const api = useApi() diff --git a/packages/medusa/src/services/gift-card.js b/packages/medusa/src/services/gift-card.js index b96372d223..ab2da18541 100644 --- a/packages/medusa/src/services/gift-card.js +++ b/packages/medusa/src/services/gift-card.js @@ -261,7 +261,7 @@ class GiftCardService extends BaseService { giftCard.metadata = await this.setMetadata_(giftCard.id, metadata) } - if (balance) { + if (typeof balance !== "undefined") { if (balance < 0 || giftCard.value < balance) { throw new MedusaError( MedusaError.Types.INVALID_ARGUMENT,