Compare commits
No commits in common. "dbb2ff84e56ae60f0d1bba64e1487e0e7d605e02" and "2e44d1437023411d7458b7ee2ad40dbe76db665d" have entirely different histories.
dbb2ff84e5
...
2e44d14370
3 changed files with 12 additions and 42 deletions
|
@ -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())
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
30
testing.py
30
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()
|
||||
|
|
Loading…
Reference in a new issue