Skip to content

Commit

Permalink
Apply formatting
Browse files Browse the repository at this point in the history
  • Loading branch information
gf-rog authored and github-actions[bot] committed Apr 2, 2024
1 parent 80b9162 commit 00c5b1c
Show file tree
Hide file tree
Showing 8 changed files with 45 additions and 32 deletions.
24 changes: 14 additions & 10 deletions backend/src/routes/usersRoute.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
import { Router, Request, Response } from "express";
import driver from "../driver/driver.js";
import {
JWTRequest,
authenticateToken,
getToken,
} from "../misc/jwt.js";
import { JWTRequest, authenticateToken, getToken } from "../misc/jwt.js";
import {
AuthOkErrorResponse,
OkErrorResponse,
Expand Down Expand Up @@ -69,20 +65,28 @@ usersRouter.get(
}

const { page, maxUsers, q: searchTerm, country } = verify.verified;
const maxUsersBig = BigInt(maxUsers)
const maxUsersBig = BigInt(maxUsers);

const session = driver.session();
try {
const userScores = await searchUsers(session, searchTerm, country, page - 1, maxUsers);
const userScores = await searchUsers(
session,
searchTerm,
country,
page - 1,
maxUsers,
);
if (userScores === null) {
return res
.status(400)
.json({ status: "error", errors: { searchTerm: "incorrect" } });
}

const usersCount = await getUsersCount(session)
const pageCount = Number((usersCount.toBigInt() + maxUsersBig - 1n) / maxUsersBig)
const users = userScores.map((userScore) => userScore[0])
const usersCount = await getUsersCount(session);
const pageCount = Number(
(usersCount.toBigInt() + maxUsersBig - 1n) / maxUsersBig,
);
const users = userScores.map((userScore) => userScore[0]);

return res.json({ status: "ok", pageCount, users });
} catch (err) {
Expand Down
11 changes: 4 additions & 7 deletions backend/src/users.ts
Original file line number Diff line number Diff line change
Expand Up @@ -201,12 +201,12 @@ export async function searchUser(
pageIndex: number,
pageSize: number,
): Promise<UserScore[] | null> {
const queryElems = neo4j.int((pageIndex + 1) * pageSize)
const queryElems = neo4j.int((pageIndex + 1) * pageSize);
const querySkip = neo4j.int(pageIndex * pageSize);
const queryLimit = neo4j.int(pageSize);

let userRequest: neo4j.QueryResult;

if (!searchTerm) {
userRequest = await session.run(
`MATCH (u:User)
Expand Down Expand Up @@ -245,11 +245,9 @@ export async function searchUser(
}

export async function getUsersCount(session: Session): Promise<neo4j.Integer> {
const usersCount = await session.run(
`MATCH (u:User) RETURN count(u)`,
);
const usersCount = await session.run(`MATCH (u:User) RETURN count(u)`);

return usersCount.records[0].get(0)
return usersCount.records[0].get(0);
}

export async function updateUser(
Expand Down Expand Up @@ -465,4 +463,3 @@ export async function getFriendSuggestions(
);
return friends;
}

18 changes: 13 additions & 5 deletions backend/test/userEndpoints.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -109,9 +109,11 @@ test("Get user's friends", async () => {
);
const zuckId = zuck.id;

const response = await fetch(`http://localhost:5000/users/${zuckId}/friends?page=1&maxUsers=2`);
const response = await fetch(
`http://localhost:5000/users/${zuckId}/friends?page=1&maxUsers=2`,
);
const responseData = await response.json();
assert.containsAllKeys(responseData, ["status", "friends", "pageCount"])
assert.containsAllKeys(responseData, ["status", "friends", "pageCount"]);

const { status, friends } = responseData;
expect(status).toBe("ok");
Expand Down Expand Up @@ -150,23 +152,29 @@ test("Search users", async () => {
expect(usersNoPageErrors["page"]).toBe("not provided");
expect(usersNoPageErrors["maxUsers"]).toBe("not provided");

const usersWrongPageResponseData = await searchUsers("?q=zuckerberg&page=🐈&maxUsers=🐕");
const usersWrongPageResponseData = await searchUsers(
"?q=zuckerberg&page=🐈&maxUsers=🐕",
);
const usersWrongPageStatus = usersWrongPageResponseData.status;
const usersWrongPageErrors = usersWrongPageResponseData.errors;

expect(usersWrongPageStatus).toBe("error");
expect(usersWrongPageErrors["page"]).toBe("not a number");
expect(usersWrongPageErrors["maxUsers"]).toBe("not a number");

const usersMultiplePageResponseData = await searchUsers("?q=zuckerberg&page=1&page=1&maxUsers=1&maxUsers=1");
const usersMultiplePageResponseData = await searchUsers(
"?q=zuckerberg&page=1&page=1&maxUsers=1&maxUsers=1",
);
const usersMultiplePageStatus = usersMultiplePageResponseData.status;
const usersMultiplePageErrors = usersMultiplePageResponseData.errors;

expect(usersMultiplePageStatus).toBe("error");
expect(usersMultiplePageErrors["page"]).toBe("incorrect");
expect(usersMultiplePageErrors["maxUsers"]).toBe("incorrect");

const usersResponseData = await searchUsers("?q=zuckerberg&page=1&maxUsers=10");
const usersResponseData = await searchUsers(
"?q=zuckerberg&page=1&maxUsers=10",
);
const usersStatus = usersResponseData.status;

expect(usersStatus).toBe("ok");
Expand Down
8 changes: 5 additions & 3 deletions backend/test/userFriendsSuggestions.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@ let page: number = 3;
let maxUsers: number = 5;

test("Search user", async () => {
const response = await fetch("http://localhost:5000/users/search?q=a&page=1&maxUsers=10");
const response = await fetch(
"http://localhost:5000/users/search?q=a&page=1&maxUsers=10",
);

const responseData = await response.json();
const users = responseData.users;
Expand Down Expand Up @@ -41,7 +43,7 @@ test("Missing page", async () => {
const errors = responseData.errors;

expect(status).toBe("error");
expect(errors["page"]).toBe("not provided")
expect(errors["page"]).toBe("not provided");
});

test("Missing maxUsers", async () => {
Expand All @@ -54,7 +56,7 @@ test("Missing maxUsers", async () => {
const errors = responseData.errors;

expect(status).toBe("error");
expect(errors["maxUsers"]).toBe("not provided")
expect(errors["maxUsers"]).toBe("not provided");
});

test("First user", async () => {
Expand Down
4 changes: 3 additions & 1 deletion backend/test/userSearch.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ let page: number = 1;
let maxUsers: number = 1;

test("Search all users", async () => {
const response = await fetch("http://localhost:5000/users/search?q=a&page=1&maxUsers=100");
const response = await fetch(
"http://localhost:5000/users/search?q=a&page=1&maxUsers=100",
);

const responseData = await response.json();
const users = responseData.users;
Expand Down
4 changes: 2 additions & 2 deletions frontend/src/components/PaginatorV2.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,12 @@ function PaginatorV2(props: PaginatorProps) {
props.endpoint +
`${queryChar}page=${currentPage}&maxUsers=${props.itemsPerPage}`;

console.log(url)
console.log(url);

await dataService
.fetchData(url, "GET")
.then((response) => {
const users = props.getItems(response)
const users = props.getItems(response);

if (users && response.pageCount) {
setError("");
Expand Down
6 changes: 3 additions & 3 deletions frontend/src/components/Search.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,12 @@ const Search = (props: searchProps) => {

if (userState.status === "anonymous") navigate("/login");

const countryQuery = (country != "-") ? country : ""
const countryQuery = country != "-" ? country : "";

const urlSearchParams = new URLSearchParams({
q: searchQuery,
country: countryQuery
})
country: countryQuery,
});

props.handler(`/users/search?${urlSearchParams}`);
};
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/pages/SearchPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ function SearchPage() {

const friends = friendsResponse.friends as User[];
const friendsIds = friends.map((friend) => friend.id);
console.log(friendsIds)
console.log(friendsIds);
setUsersFriends(friendsIds);
};
fetchFriends();
Expand Down

0 comments on commit 00c5b1c

Please sign in to comment.