Skip to content

Commit

Permalink
changes in query and add the test code
Browse files Browse the repository at this point in the history
Relates #18
  • Loading branch information
Alaa Sahloub committed Feb 16, 2021
1 parent 5f90375 commit ea4a6fb
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 16 deletions.
13 changes: 1 addition & 12 deletions server/controllers/kindergarten/addKindergarten.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,8 @@ const { addKindergartenSchema } = require('../../utils/validation');
const addKindergarten = async (req, res, next) => {
try {
// const {userId} = req;
console.log(req.body);
const userId = 2;
// const {
// kindergartenName,
// coverImage,
// description,
// phoneNumber,
// latitude,
// longitude,
// minPrice,
// maxPrice,
// periods,
// imagesGallery,
// } = req.body;
const validatdData = await addKindergartenSchema.validate(req.body, {
abortEarly: false,
});
Expand Down
11 changes: 8 additions & 3 deletions server/database/queries/kindergarten/addKindergartenQuery.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,14 @@ const addKindergartenQuery = ({
return null;
})
.join(''),
// .replace('[', '{')
// .replace(']', '}'),
imagesGallery.replace('[', '{').replace(']', '}'),
imagesGallery
.split('')
.map((e) => {
if (e === '[') return '{';
if (e === ']') return '}';
return null;
})
.join(''),
],
};
return connection.query(sql);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ const getKindergartenById = (kindergartenId) => {
'SELECT kindergartens.kindergarten_name, kindergartens.cover_image,kindergartens.description, kindergartens.phone_number, kindergartens.min_price, kindergartens.max_price, kindergartens.periods,kindergartens.image_gallery,locations.location_sub, locations.location_main, rating.rating_count, rating.rating_average ' +
'FROM kindergartens ' +
'INNER JOIN locations ON locations.id = kindergartens.location_id ' +
'INNER JOIN ' +
'LEFT JOIN ' +
'(select COUNT(rating) AS rating_count, AVG(rating)::numeric(10,0) AS rating_average, kindergarten_id FROM comments GROUP BY kindergarten_id ) ' +
'AS rating ON rating.kindergarten_id = kindergartens.id ' +
"WHERE kindergartens.request_status = 'approved' AND kindergartens.is_enable = 'true' AND kindergartens.id=$1 ",
Expand Down
37 changes: 37 additions & 0 deletions test/index.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,43 @@ describe('Testing get comments by kindergarten id query', () => {
.catch());
});

// test router Post /kindergarten
describe('Test the route POST /kindergarten', () => {
test('should return status code 201 and data length 1 when given POST /kindergarten', async () => {
expect.assertions(0);
const res = await request(app)
.post('/api/v1/kindergarten')
.send({
kindergartenName: 'روضة الإبداع التعليمية',
userId: 1,
coverImage:
'https://scontent.fgza2-1.fna.fbcdn.net/v/t1.0-9/127563203_2816927261908481_825163598039189311_o.jpg _nc_cat=100&ccb=2&_nc_sid=e3f864&_nc_ohc=EOam1iTQLIcAX8jrnEj&_nc_ht=scontent.fgza2-1.fna&oh=e1cef81bf1cebbd72a6c1f1af651e01f&oe=604638FB',
description:
'نعملُ على إنشاء جيل رائع من خلال تطوير كافة مهاراتهم الفكرية والنفسية بأساليب علمية وتربوية',
locationId: 1,
phoneNumber: '0599123456',
latitude: null,
longitude: null,
minPrice: 1000,
maxPrice: 2000,
periods: "[['7:00', '11:00']]",
imagesGallery: `[
'https://scontent.fgza2-1.fna.fbcdn.net/v/t1.0-9/126072436_2810042115930329_426976181002437064_o.jpg?_nc_cat=105&ccb=2&_nc_sid=730e14&_nc_ohc=UX2zxNzPBTYAX_XAYLE&_nc_ht=scontent.fgza2-1.fna&oh=72a8ef5d8369f7e183116f4423bad872&oe=604613F1',
'https://scontent.fgza2-1.fna.fbcdn.net/v/t1.0-0/p526x395/126362711_2810037339264140_8115186378406081155_o.jpg?_nc_cat=106&ccb=2&_nc_sid=730e14&_nc_ohc=1pa0nWqLMVQAX8xj-8Z&_nc_ht=scontent.fgza2-1.fna&tp=6&oh=43ba32d04a1478c83ca4cee8950955f9&oe=6045D9DF',
'https://scontent.fgza2-1.fna.fbcdn.net/v/t1.0-0/p180x540/125246489_2806470342954173_5557632858147020336_o.jpg?_nc_cat=106&ccb=2&_nc_sid=e3f864&_nc_ohc=ZGPkuyaJoUEAX9lkFkC&_nc_ht=scontent.fgza2-1.fna&tp=6&oh=0a5795c9d04ed69df0ecf950260a8240&oe=60475C85',
'https://scontent.fgza2-1.fna.fbcdn.net/v/t1.0-9/127711338_2816934215241119_820060672107449619_o.jpg?_nc_cat=110&ccb=2&_nc_sid=730e14&_nc_ohc=lj0hKeD_FswAX-IthGI&_nc_ht=scontent.fgza2-1.fna&oh=ff73fc70463202e07ef1ab8945b1aaf6&oe=6047D28E',
'https://scontent.fgza2-1.fna.fbcdn.net/v/t1.0-9/125969111_2810046942596513_7374678634903478541_o.jpg?_nc_cat=106&ccb=2&_nc_sid=730e14&_nc_ohc=26lBVKEuxXgAX-LkaQx&_nc_ht=scontent.fgza2-1.fna&oh=98b4dfd19c0ec101fab0c68fcafb2ed7&oe=60489661',
'https://scontent.fgza2-1.fna.fbcdn.net/v/t1.0-0/p526x395/126221172_2810852509182623_3908586823989526775_o.jpg?_nc_cat=104&ccb=2&_nc_sid=730e14&_nc_ohc=r4JC03VXovYAX-ZDyZv&_nc_ht=scontent.fgza2-1.fna&tp=6&oh=a04d43782df65a5367387fa7d876a6cc&oe=6047FCA7',
'https://scontent.fgza2-1.fna.fbcdn.net/v/t1.0-9/126420691_2810858432515364_8382015493325068832_o.jpg?_nc_cat=102&ccb=2&_nc_sid=730e14&_nc_ohc=8m_uU2uLr9kAX-TeYbI&_nc_ht=scontent.fgza2-1.fna&oh=8b17321eb157fe3c7a9d7c09ba6182bc&oe=604782E5',
'https://scontent.fgza2-1.fna.fbcdn.net/v/t1.0-9/126361201_2810861959181678_2949636133222938705_o.jpg?_nc_cat=107&ccb=2&_nc_sid=e3f864&_nc_ohc=xj63fLB5DpYAX8g2PTJ&_nc_ht=scontent.fgza2-1.fna&oh=88ac8fb67a2c9c87ee2ed8940f2c14fb&oe=60451FF9',
]`,
})
.expect(201);
const { data } = res.body;
expect(data).toHaveLength(1);
});
});

// test the route /kindergarten/:kindergartenId/comments
describe('Test the route POST /kindergarten/:kindergartenId/comments', () => {
test('should return status code 201 and data length 1 when given POST /kindergarten/2/comments', async () => {
Expand Down

0 comments on commit ea4a6fb

Please sign in to comment.