Commit Graph
12 Commits
Author SHA1 Message Date
Johann Hoffmann c1939d0e23 hint after a passed Antritt; split Cypress setup into global, suite and local layers; if configured a pass closes the Antritt chain: the next exam cell shows "Positiv abgeschlossen" with a tooltip, and an add attempt shows pruefungNachBestandenerNote; 8 new specs with 55 tests: kettenregeln, terminregeln, scope, rollenmatrix, antrittrollen, nebenlaeufigkeit, UI ablehnung and navigation; WIP documenting testsuite caveats in readme files; WIP streamlining layers and removing redundant code/fallbacks; 2026-09-21 16:59:31 +02:00
Johann Hoffmann 73c63c791d seeder consolidation into branch naming convention; consolidated helper functions; fixed maxAntrittCount & brauchtNeueLVNote helpers in notenRules outside the cypress suite; more careful usage of db connection pools; cypress code cleanup & lint; WIP seperating branch specific configs/env setup from global cypress settings & ongoing test refinement; 2026-09-16 13:56:11 +02:00
Johann Hoffmann 7c9bcb6fd2 Merge remote-tracking branch 'origin/master' into feature-60873/GesamtnoteneingabeCis4
# Conflicts:
#	cis/private/lehre/notenliste.xls.php
#	public/js/api/factory/studiensemester.js
#	system/phrasesupdate.php
2026-09-15 14:44:45 +02:00
Johann Hoffmann 4399857f4a WIP 2026-09-15 10:59:09 +02:00
Johann Hoffmann 3212800643 started extracting every meaningful/realistic decision in the grading workflow into configs; groups: exam date guard logic, grades/pruefungchain interactions, deadlines, role configuration & permission configurability, freigabe, import & display; lots of code bugfixes & general cleanup effort; WIP testing and finding bugs i introduced with this new & large configuration scheme; 2026-09-11 15:19:39 +02:00
Johann Hoffmann 97be497fda refactored the core pruefungslogic to revolve around PruefungsverlaufLib.php instead of tbl_pruefungstyp which was highly inflexible for any adjustments. could be reused in Stv/Pruefungen aswell since there invalid inserts are very much possible; typen are still being used but are irrelevant for sequencing the attempts correctly; incorporated kommissionelle Pruefung into Gesamtnoteneingabe as the last possible antritt a student makes; updated cypress suites accordingly and added some ui tests aswell; documented usage in a readme_benotungstool.txt for the suite; 2026-08-11 17:35:06 +02:00
Johann Hoffmann c9c92f82d3 WIP refactor 2026-08-06 10:33:46 +02:00
Johann Hoffmann 193dd166c3 finalizing current state of benotungstool api testsuite before touching implementation again; access suite and pruefungstermin suite have a few known failing tests, rest should run fine on a freshly resetted database! reset with 'php system/setup_testinstance.php --setup' for wrapped db setup routine; 2026-08-04 14:05:17 +02:00
Johann Hoffmann 431e0bb341 extended noten testsuite to cover more cases; added seedPruefung task to achieve difficult/impossible states for noten Api alone like kommPruef inserts or some entschuldigt/termin2 setups; WIP getting to test lkt_ueberschreibbar on zeugnisnote (needs updated seeders); WIP testing some logic/rules that only live in js frontend; 2026-07-31 13:32:47 +02:00
Johann Hoffmann beb54c1bc5 Add Cypress API test suite for the Gesamtnoteneingabe. Tests the grade-entry rules against /api/frontend/v1/Noten, where they are enforced
server-side.

Generic and reusable by the next suite: setup_testinstance.php (--setup/--verify,
delegating the rebuild to paolos db_setup.sh), tasks/db.js, tasks/sshTunnel.js,
tools/dbCheck.js and cypress.config.js carry no suite-specific knowledge. A suite
adds tools/checks/<name>.js, suites/<name>.js and its own task file.

Fixture state resets over a direct Postgres connection through an SSH tunnel the
runner opens itself.

Tests: 37 passing, 5 pending, 1 failing. Pending are opt-in (Freigabe sends
real mail; the Frist config is off). The failing spec is left red on purpose: it
documents that getLvGesamtNoten filters freigabedatum < NOW(), so the read path
hides un-freigegebene notes while the write path uses the unfiltered getter. Not really certain if that is a feature or a bug;

Working on more actual testsuites now that the setup is running as intended;
2026-07-30 17:18:51 +02:00
Ivymaster 86c06e4756 BUG: issue fix for dropdown reposition errror 2026-07-10 11:50:07 +02:00
Ivymaster c47ac926d2 WIP 2026-06-25 15:23:41 +02:00