Commit Graph
110 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
Paolo 7aaeccdd42 Excluded application/phrases/ from been checked for line length with PHPCS 2022-03-07 12:34:11 +01:00
Paolo 9f28db36b8 - Added new sniffs for codesniffer to be compliant with the FHComplete coding style
- Commented tests/codesniffer/FHComplete/ruleset.xml
- Removed redundant PHPCS checks already performed by PHPMD
- Added/removed checks from PHPCS to be compliant with the FHComplete coding style
- PHPMD: Removed the ElseExpression rule from the rulesets/cleancode.xml
2022-03-04 19:59:57 +01:00
Paolo 282972f441 Added new PHPMD ruleset rulesets-dev-only.xml 2022-02-15 12:28:33 +01:00
Paolo 598575a194 Added excludes to PHPMD and PHPCS rule sets 2022-02-11 11:01:44 +01:00
Paolo 6066da470e - Added excluded directories to PHPMD and PHPCS rule sets
- Added testing file for Lint
2022-02-10 15:00:00 +01:00
Paolo d9aa24cced - Removed phpci.yml file
- Removed tests/codeception/ directory
- Changed tests/codesniffer/FHComplete/ruleset.xml
- Removed tests/codesniffer/FHComplete/Sniffs
- Removed tests/codesniffer/FHComplete/tests
- Added tests/phpmd/rulesets.xml
2022-02-10 11:42:39 +01:00
Paolo 6b17dbca52 - Removed tests/codeception/_data/dump.sql
- Changed phpci.yml to make php_parallel_lint a blocking test
- Changed phpci.yml to configure the rules used by php mess detector
- Changed phpci.yml added allowed_warnings: -1 to php_code_sniffer
2019-06-05 11:19:05 +02:00
Andreas Österreicher 1e4fc86be5 Fixed Broken Unit Tests 2018-02-16 11:43:59 +01:00
Andreas Österreicher 78df57044e Resturlaubstage, Mehrarbeitsstunden und Urlaubsanspruch pro Jahr
entfernt. Diese können bei Mitarbeitern jetzt nicht mehr verwaltet
werden
2018-01-18 09:01:49 +01:00
Paolo d8cd786079 - application/core/* -> CS compliant
- application/libraries/* -> CS compliant
- FHC_Model isEntitled method now return error() or success()
- Updated all code that uses isEntitled method from FHC_Model
- Removed Squiz.PHP.DisallowSizeFunctionsInLoops from CS ruleset
- Removed depracated method replace from DB_Model
- Removed unused method pgArrayPhp from DB_Model
- Renamed method arrayMergeIndex to _arrayCombine in DB_Model and set as private
- Added method _manageUDFs to DB_Model (a wrapper for UDFLib->manageUDFs)
2017-08-22 16:24:51 +02:00
Paolo 1afe6c00a1 Removed check of size functions in loop statements in CS 2017-08-22 10:32:11 +02:00
Paolo 17acfa3945 Codesniffer FHComplete rules: underscores before protected and private methods are not checked anymore 2017-08-21 12:22:56 +02:00
Paolo 0317c5314a Removed ruleset.xml from tests directory 2017-08-21 12:11:54 +02:00
Andreas Oesterreicher 42960ffe20 Moodle-Integration aus FHComplete Core entfernt und in eigenes Addon
ausgelagert.
Support für Moodle 1.9 entfernt
2017-08-02 14:05:31 +02:00
Andreas Oesterreicher 4c95ee4d58 Fixed Codesniffer test files according to FHComplete Style 2017-07-02 18:37:55 +02:00
bison-paolo 9723ee54d2 phpci 2016-11-29 17:54:22 +01:00
bison-paolo 4cc21c715a phpci 2016-11-29 17:44:29 +01:00
bison-paolo 7398645038 phpci 2016-11-29 17:39:25 +01:00
bison-paolo 65888879d1 phpci 2016-11-29 17:31:51 +01:00
bison-paolo f7d1d96875 phpci 2016-11-29 16:39:51 +01:00
bison-paolo a9ceaf3c56 phpci 2016-11-29 16:28:26 +01:00
bison-paolo 2c1d29e0ba phpci 2016-11-29 14:57:50 +01:00
bison-paolo c33871ec2d phpC(d)I 2016-11-23 15:25:07 +01:00
bison-paolo d96a0e98d5 - Fixed codeception test
- Updated the api test suite
- Added the script generate.php to automatically generate the test cases
for the controllers
2016-11-23 15:09:10 +01:00
oesi 68a696cdc8 Merge branch 'master' into ci
Conflicts:
	cis/testtool/admin/add_gebiet.php
	cis/testtool/admin/edit_gebiet.php
	cis/testtool/admin/index.php
	config/global.config-default.inc.php
	content/student/studentDBDML.php
	content/student/studentdetailoverlay.xul.php
	include/ablauf.class.php
	include/frage.class.php
	include/organisationseinheit.class.php
	include/studiengang.class.php
	include/vorschlag.class.php
	phpci.yml
	rdf/student.rdf.php
	system/dbupdate_3.2.php
	tests/codeception/_support/AcceptanceTester.php
	tests/codeception/_support/BasisKlasseTest.php
	tests/codeception/_support/FunctionalTester.php
	tests/codeception/_support/UnitTester.php
	tests/codeception/_support/_generated/AcceptanceTesterActions.php
	tests/codeception/acceptance/AcceptanceTester.php
	tests/codeception/acceptance/CISLoginPageCept.php
	tests/codeception/acceptance/_bootstrap.php
	tests/codeception/codeception.dist.yml
	tests/codeception/functional/FunctionalTester.php
	tests/codeception/functional/_bootstrap.php
	tests/codeception/tests/acceptance.suite.dist.yml
	tests/codeception/tests/acceptance/CISLoginPage.php
	tests/codeception/tests/acceptance/CISLoginPageCept.php
	tests/codeception/tests/api/_bootstrap.php
	tests/codeception/tests/functional/FunctionalTester.php
	tests/codeception/tests/functional/_bootstrap.php
	tests/codeception/tests/unit/BasisKlasseTest.php
	tests/codeception/tests/unit/UnitTester.php
	tests/codeception/unit/BasisKlasseTest.php
	tests/codeception/unit/UnitTester.php
2016-11-22 13:58:29 +01:00
bison-paolo 2a0cd525dd - Updated codeception test cases
- Fixed controllers
- Removed unused controller Thread
2016-11-15 17:00:01 +01:00
bison-paolo bc8ecf5569 Wrong api.suite.dist.yml 2016-10-20 16:47:51 +02:00
bison-paolo 5087826891 - phpC(d)I
- Renamed method chkRights to _isEntitled in model DB_Model
- Updated models where it was needed
2016-10-20 16:37:52 +02:00
kindlm 70fd4a4dea phpC(d)I 2016-09-30 16:32:57 +02:00
bison-paolo 7346fcf7ec Permissions for test user 2016-09-30 11:52:19 +02:00
paolo 527a627574 Removed var_dumps from library REST_Controller 2016-08-04 14:53:32 +02:00
paolo c8f9980c5a Codeception fixes 2016-08-03 10:42:03 +02:00
paolo 2d8f7fcac3 Codeception workaround 2016-08-03 09:57:24 +02:00
paolo 65aa2b5d29 - Added codeception test for PCRM
- Fixes and improvements for PCRMLib
2016-08-01 16:18:38 +02:00
paolo fd826ae1fe Extended codeception tests 2016-07-27 19:09:42 +02:00
paolo 88a395b31e Bug fixes 2016-07-25 19:27:04 +02:00
paolo d0d9b897eb Created all basic test cases for codeception 2016-07-25 17:21:39 +02:00
paolo d6ab664a33 - phpC(dis)I fixes IV 2016-07-11 18:31:11 +02:00