jest.mock("../db/pool", () => ({ query: jest.fn(), })); const pool = require("../db/pool"); const Stores = require("../models/store.model"); describe("store.model", () => { beforeEach(() => { pool.query.mockReset(); }); test("lists household stores with location manager counts", async () => { pool.query.mockResolvedValueOnce({ rows: [ { location_id: 10, id: 10, household_id: 1, household_store_id: 100, name: "Costco", location_name: "Default Location", is_default: true, zone_count: 2, item_count: 5, display_name: "Costco", }, ], }); const result = await Stores.getHouseholdStores(1); expect(result).toEqual([ expect.objectContaining({ id: 10, display_name: "Costco", zone_count: 2, item_count: 5, }), ]); expect(pool.query).toHaveBeenCalledWith( expect.stringContaining("AS zone_count"), [1, "Default Location"] ); expect(pool.query.mock.calls[0][0]).toContain("FROM store_location_zones slz"); expect(pool.query.mock.calls[0][0]).toContain("FROM household_store_items hsi"); }); });