Merge branch 'frontend' into gruppDM
This commit is contained in:
commit
07aaab5530
12 changed files with 471 additions and 238 deletions
87
frontend/src/API/API.test.ts
Normal file
87
frontend/src/API/API.test.ts
Normal file
|
@ -0,0 +1,87 @@
|
|||
import { describe, expect, test } from "@jest/globals";
|
||||
import { api } from "../API/API";
|
||||
import { NewUser, NewWeeklyReport } from "../Types/goTypes";
|
||||
|
||||
describe("API", () => {
|
||||
test("registerUser", async () => {
|
||||
const user: NewUser = {
|
||||
username: "lol", // Add the username property
|
||||
password: "lol",
|
||||
};
|
||||
const response = await api.registerUser(user);
|
||||
console.log(response.message);
|
||||
expect(response.success).toBe(true);
|
||||
expect(response.data).toHaveProperty("userId");
|
||||
});
|
||||
|
||||
test("createProject", async () => {
|
||||
const project = {
|
||||
name: "Project X",
|
||||
description: "This is a test project",
|
||||
};
|
||||
const token =
|
||||
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZG1pbiI6ZmFsc2UsImV4cCI6MTcxMDk0MDIwMywibmFtZSI6InJyZ3VtZHpwbWMifQ.V9NHoYMYV61t";
|
||||
|
||||
const response = await api.createProject(project, token);
|
||||
console.log(response.message);
|
||||
expect(response.success).toBe(true);
|
||||
expect(response.data).toHaveProperty("projectId");
|
||||
});
|
||||
|
||||
test("renewToken", async () => {
|
||||
const refreshToken =
|
||||
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZG1pbiI6ZmFsc2UsImV4cCI6MTcxMDk0MDIwMywibmFtZSI6InJyZ3VtZHpwbWMifQ.V9NHoYMYV61t";
|
||||
|
||||
const response = await api.renewToken(refreshToken);
|
||||
console.log(response.message);
|
||||
expect(response.success).toBe(true);
|
||||
expect(response.data).toHaveProperty("accessToken");
|
||||
expect(response.data).toHaveProperty("refreshToken");
|
||||
});
|
||||
|
||||
test("getUserProjects", async () => {
|
||||
const token =
|
||||
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZG1pbiI6ZmFsc2UsImV4cCI6MTcxMDk0MDIwMywibmFtZSI6InJyZ3VtZHpwbWMifQ.V9NHoYMYV61t";
|
||||
const username = "rrgumdzpmc";
|
||||
const response = await api.getUserProjects(username, token);
|
||||
console.log(response.message);
|
||||
expect(response.success).toBe(true);
|
||||
expect(response.data).toHaveProperty("projects");
|
||||
});
|
||||
|
||||
test("submitWeeklyReport", async () => {
|
||||
const report: NewWeeklyReport = {
|
||||
projectName: "vtmosxssst",
|
||||
week: 2,
|
||||
developmentTime: 40,
|
||||
meetingTime: 5,
|
||||
adminTime: 2,
|
||||
ownWorkTime: 10,
|
||||
studyTime: 12,
|
||||
testingTime: 41,
|
||||
};
|
||||
const token =
|
||||
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZG1pbiI6ZmFsc2UsImV4cCI6MTcxMDk0MDIwMywibmFtZSI6InJyZ3VtZHpwbWMifQ.V9NHoYMYV61t";
|
||||
|
||||
const response = await api.submitWeeklyReport(report, token);
|
||||
console.log(response.message);
|
||||
expect(response.success).toBe(true);
|
||||
expect(response.data).toHaveProperty(
|
||||
"message",
|
||||
"Report submitted successfully",
|
||||
);
|
||||
});
|
||||
|
||||
test("login", async () => {
|
||||
const user: NewUser = {
|
||||
username: "rrgumdzpmc", // Add an empty string value for the username property
|
||||
password: "always_same",
|
||||
};
|
||||
|
||||
const response = await api.login(user);
|
||||
console.log(response.message);
|
||||
expect(response.success).toBe(true);
|
||||
expect(response.data).toHaveProperty("accessToken");
|
||||
expect(response.data).toHaveProperty("refreshToken");
|
||||
});
|
||||
});
|
|
@ -1,5 +1,5 @@
|
|||
import { Link } from "react-router-dom";
|
||||
import { User } from "../Types/Users";
|
||||
import { User } from "../Types/goTypes";
|
||||
|
||||
/**
|
||||
* The props for the UserProps component
|
||||
|
@ -23,9 +23,9 @@ export function UserListAdmin(props: UserProps): JSX.Element {
|
|||
<div>
|
||||
<ul className="font-bold underline text-[30px] cursor-pointer padding">
|
||||
{props.users.map((user) => (
|
||||
<Link to="/admin-view-user" key={user.id} state={user.userName}>
|
||||
<li className="pt-5" key={user.id}>
|
||||
{user.userName}
|
||||
<Link to="/admin-view-user" key={user.userId} state={user.username}>
|
||||
<li className="pt-5" key={user.userId}>
|
||||
{user.username}
|
||||
</li>
|
||||
</Link>
|
||||
))}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue