diff --git a/backend/internal/handlers/global_state.go b/backend/internal/handlers/global_state.go index 2378f7b..415b215 100644 --- a/backend/internal/handlers/global_state.go +++ b/backend/internal/handlers/global_state.go @@ -267,14 +267,6 @@ func (gs *GState) SubmitWeeklyReport(c *fiber.Ctx) error { return c.Status(400).SendString(err.Error()) } - // Make sure all the fields of the report are valid - if report.Week < 1 || report.Week > 52 { - return c.Status(400).SendString("Invalid week number") - } - if report.DevelopmentTime < 0 || report.MeetingTime < 0 || report.AdminTime < 0 || report.OwnWorkTime < 0 || report.StudyTime < 0 || report.TestingTime < 0 { - return c.Status(400).SendString("Invalid time report") - } - if err := gs.Db.AddWeeklyReport(report.ProjectName, username, report.Week, report.DevelopmentTime, report.MeetingTime, report.AdminTime, report.OwnWorkTime, report.StudyTime, report.TestingTime); err != nil { return c.Status(500).SendString(err.Error()) } diff --git a/backend/internal/types/WeeklyReport.go b/backend/internal/types/WeeklyReport.go index e0ea1ef..23624db 100644 --- a/backend/internal/types/WeeklyReport.go +++ b/backend/internal/types/WeeklyReport.go @@ -3,19 +3,19 @@ package types // This is what should be submitted to the server, the username will be derived from the JWT token type NewWeeklyReport struct { // The name of the project, as it appears in the database - ProjectName string `json:"projectName"` + ProjectName string // The week number - Week int `json:"week"` + Week int // Total time spent on development - DevelopmentTime int `json:"developmentTime"` + DevelopmentTime int // Total time spent in meetings - MeetingTime int `json:"meetingTime"` + MeetingTime int // Total time spent on administrative tasks - AdminTime int `json:"adminTime"` + AdminTime int // Total time spent on personal projects - OwnWorkTime int `json:"ownWorkTime"` + OwnWorkTime int // Total time spent on studying - StudyTime int `json:"studyTime"` + StudyTime int // Total time spent on testing - TestingTime int `json:"testingTime"` + TestingTime int } diff --git a/frontend/src/Types/goTypes.ts b/frontend/src/Types/goTypes.ts deleted file mode 100644 index 89084b7..0000000 --- a/frontend/src/Types/goTypes.ts +++ /dev/null @@ -1,88 +0,0 @@ -// Code generated by tygo. DO NOT EDIT. - -////////// -// source: WeeklyReport.go - -/** - * This is what should be submitted to the server, the username will be derived from the JWT token - */ -export interface NewWeeklyReport { - /** - * The name of the project, as it appears in the database - */ - projectName: string; - /** - * The week number - */ - week: number /* int */; - /** - * Total time spent on development - */ - developmentTime: number /* int */; - /** - * Total time spent in meetings - */ - meetingTime: number /* int */; - /** - * Total time spent on administrative tasks - */ - adminTime: number /* int */; - /** - * Total time spent on personal projects - */ - ownWorkTime: number /* int */; - /** - * Total time spent on studying - */ - studyTime: number /* int */; - /** - * Total time spent on testing - */ - testingTime: number /* int */; -} - -////////// -// source: project.go - -/** - * Project is a struct that holds the information about a project - */ -export interface Project { - id: number /* int */; - name: string; - description: string; - owner: string; -} -/** - * As it arrives from the client, Owner is derived from the JWT token - */ -export interface NewProject { - name: string; - description: string; -} - -////////// -// source: users.go - -/** - * User struct represents a user in the system - */ -export interface User { - userId: string; - username: string; - password: string; -} -/** - * Should be used when registering, for example - */ -export interface NewUser { - username: string; - password: string; -} -/** - * PublicUser represents a user that is safe to send over the API (no password) - */ -export interface PublicUser { - userId: string; - username: string; -} diff --git a/testing.py b/testing.py index d2c64fe..fa97567 100644 --- a/testing.py +++ b/testing.py @@ -11,7 +11,7 @@ def randomString(len=10): # Defined once per test run username = randomString() -projectName = randomString() +token = None # The base URL of the API base_url = "http://localhost:8080" @@ -20,10 +20,9 @@ base_url = "http://localhost:8080" registerPath = base_url + "/api/register" loginPath = base_url + "/api/login" addProjectPath = base_url + "/api/project" -submitReportPath = base_url + "/api/submitReport" -# Posts the username and password to the register endpoint +# Define a function to prform POST request with data and return response def register(username: string, password: string): print("Registering with username: ", username, " and password: ", password) response = requests.post( @@ -33,7 +32,6 @@ def register(username: string, password: string): return response -# Posts the username and password to the login endpoint def login(username: string, password: string): print("Logging in with username: ", username, " and password: ", password) response = requests.post( @@ -50,6 +48,7 @@ def test_login(): return response.json()["token"] +# Define a function to test the POST request def test_create_user(): response = register(username, "always_same") assert response.status_code == 200, "Registration failed" @@ -59,6 +58,7 @@ def test_create_user(): def test_add_project(): loginResponse = login(username, "always_same") token = loginResponse.json()["token"] + projectName = randomString() response = requests.post( addProjectPath, json={"name": projectName, "description": "This is a project"}, @@ -69,29 +69,7 @@ def test_add_project(): print("Add project successful") -def test_submit_report(): - token = login(username, "always_same").json()["token"] - response = requests.post( - submitReportPath, - json={ - "projectName": "report1", - "week": 1, - "developmentTime": 10, - "meetingTime": 5, - "adminTime": 5, - "ownWorkTime": 10, - "studyTime": 10, - "testingTime": 10, - }, - headers={"Authorization": "Bearer " + token}, - ) - print(response.text) - assert response.status_code == 200, "Submit report failed" - print("Submit report successful") - - if __name__ == "__main__": test_create_user() test_login() test_add_project() - test_submit_report()