Skip to content

Commit 9e5f7cf

Browse files
author
Víctor Martínez
authored
hotfix: Properties routes imports & tests (#18)
* hotfix: properties controller imports * properties tests added (#17)
1 parent 74170a8 commit 9e5f7cf

File tree

4 files changed

+44
-5
lines changed

4 files changed

+44
-5
lines changed

Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,6 @@ down:
1515

1616
build:
1717
docker-compose -f docker-compose-test.yaml build
18+
1819
up_forward: down
19-
docker-compose -f docker-compose-test.yaml up -d --scale node=0 && docker-compose -f docker-compose-test.yaml -p 5000:5000 run node /bin/sh
20+
docker-compose -f docker-compose-test.yaml up -d --scale node=0 && docker-compose -f docker-compose-test.yaml run -p 5000:5000 node /bin/sh

src/controllers/properties-controller.js

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1-
const fetch = require("node-fetch");
2-
const config = require("../config");
31
const { getPropertyById, searchAdminProperties } = require("../utils/properties");
42

53
async function getProperty(req, res, next) {
64
const { propertyId } = req.params;
75
try {
86
const response = await getPropertyById(propertyId);
9-
res.status(200).send(response);
7+
res.status(200).send({
8+
data: response,
9+
error: null
10+
});
1011
} catch (err) {
1112
next(err);
1213
}
@@ -15,7 +16,10 @@ async function getProperty(req, res, next) {
1516
async function searchProperties(req, res, next) {
1617
try {
1718
const response = await searchAdminProperties(req.query);
18-
res.status(200).send(response);
19+
res.status(200).send({
20+
data: response,
21+
error: null
22+
});
1923
} catch (err) {
2024
next(err);
2125
}

src/routes/__tests__/properties-routes.test.js

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,16 @@ const testServer = require("../../mock/db-test-server");
88
const app = require("../../server");
99
const setupTestDB = require("../../mock/seedTestDB");
1010
const { parseQueryParams } = require("../../utils/properties");
11+
const fetch = require("node-fetch");
12+
jest.mock("node-fetch");
1113

1214
const request = supertest(app);
1315

16+
17+
beforeEach(async () => {
18+
jest.clearAllMocks();
19+
});
20+
1421
beforeAll(async () => {
1522
await testServer.initTestServer();
1623
await setupTestDB.seedTestBookingsDB();
@@ -34,4 +41,28 @@ describe("Properties routes", () => {
3441
const string = parseQueryParams(queryParams);
3542
expect(string).toEqual("name=Patata&age=19&homeType[]=patata&homeType[]=queso&homeType[]=macarrones&names[]=Victor&names[]=Martinez&names[]=Montané&sold=true&");
3643
});
44+
45+
it("can search properties", async () => {
46+
fetch.mockResolvedValue({
47+
json: () => Promise.resolve([
48+
{ hello: "World" }
49+
]),
50+
ok: true
51+
});
52+
53+
const res = await request.get("/properties?kind=Office");
54+
expect(res.body.data).toMatchObject([{ hello: "World" }]);
55+
});
56+
57+
it("can get property by Id", async () => {
58+
fetch.mockResolvedValue({
59+
json: () => Promise.resolve(
60+
{ hello: "World" }
61+
),
62+
ok: true
63+
});
64+
65+
const res = await request.get("/properties/sdflksdgkn");
66+
expect(res.body.data).toMatchObject({ hello: "World" });
67+
});
3768
});

src/utils/properties/index.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
const fetch = require("node-fetch");
2+
const config = require("../../config");
3+
14
async function getPropertyById(propertyId) {
25
const res = await fetch(`${config.admin_server_url}/client/properties/${propertyId}`, {
36
method: 'get',

0 commit comments

Comments
 (0)