def test_properties_description_1(self): project = Project() try: project.description = "QWERTZUIOPasdfghjklYXCVBNM" except ValueError: self.fail()
def test_properties_name_1(self): project = Project() try: project.name = "ABCdefgHIJK" except ValueError: self.fail()
def test_properties_nr_1(self): project = Project() try: project.nr = 1 except ValueError: self.fail()
def test_properties_description_2(self): project = Project() try: project.description = "Bad;Description" except ValueError: pass else: self.fail()
def test_properties_name_2(self): project = Project() try: project.name = "Bad;Name" except ValueError: pass else: self.fail()
def test_properties_nr_3(self): project = Project() try: project.nr = -1 except ValueError: pass else: self.fail()
def edit_project(project_nr, new_name=None, new_description=None): pr = Project.find(project_nr) if new_name is not None: pr.name = new_name if new_description is not None: pr.description = new_description pr.save()
def collect_projects(): cur = db.get_conn().cursor() cur.execute(f"SELECT * FROM {Project.Table.name}") result = [ Project.from_result(cur.column_names, row) for row in cur.fetchall() ] cur.close() return result
def test_adapter_converter(self): project = Project() project.nr = 12345 project.name = "TestProject" project.description = "It's just a test." out = Project.adapter(project) project2 = Project.converter(bytes(out, "UTF-8", "replace")) self.assertEqual(project.nr, project2.nr) self.assertEqual(project.name, project2.name) self.assertEqual(project.description, project2.description)
def get_hours_per_project_for_employee(empl_nr: int): query = f"SELECT projectNr, SUM(TIMEDIFF(end_, start_)/10000) AS 'hours' " \ f"FROM {entry.Entry.Table.name} " \ f"WHERE emplNr={empl_nr} " \ f"GROUP BY projectNr ORDER BY 'hours' DESC;" cur = db.get_conn().cursor() cur.execute(query) idx_emplnr = cur.column_names.index("projectNr") idx_hours = cur.column_names.index("hours") res = { Project.find(row[idx_emplnr]): row[idx_hours] for row in cur.fetchall() } cur.close() return res
def getProject(self) -> Project: if not self._project: self._project = Project.find(self._project_nr) return self._project
def new_project(project_nr, name, description): pr = Project() pr.nr = project_nr pr.name = name pr.description = description pr.insert()