Commit Graph

58 Commits

Author SHA1 Message Date
175c8933f3 Automatically submit LTI grade on each score run
With this commit, we refactor the overall score handling of CodeOcean. Previously, "Score" and "Submit" were two distinct actions, requiring users to confirm the LTI transmission of their score (after assessing their submission). This yielded many questions and was unnecessary, since LTI parameters are no longer expiring after each use. Therefore, we can now transmit the current grade on each score run with the very same LTI parameters. As a consequence, the LTI consumer gets a more detailed history of the scores, enabling further analytical insights.

For users, the previous "Submit" button got replaced with a notification that is shown as soon as the full score got reached. Then, learners can decide to "finalize" their work on the given exercise, which will initiate a redirect to a follow-up action (as defined in the RedirectBehavior). This RedirectBehavior has also been unified and simplified for better readability.

As part of this refactoring, we rephrased the notifications and UX workflow of a) the LTI transmission, b) the finalization of an exercise (measured by reaching the full score) and c) the deadline handling (on time, within grace period, too late). Those information are now separately shown, potentially resulting in multiple notifications. As a side effect, they are much better maintainable, and the LTI transmission is more decoupled from this notification handling.
2023-11-23 14:42:10 +01:00
28d9e38fe5 Upgrade to Rails 7.1 and apply new framework defaults
* Remove deprecated options from environments
* Remove deprecation warnings for upcoming Rails 7.2
* Dump schema with new defaults
* Remove outdated (and erroneous) data attribute in view
* Resolve a `NoMethodError` for seeds_spec.rb
2023-10-27 16:50:27 +02:00
99bd46af1a Align project files with CodeHarbor
Since both projects are developed together and by the same team, we also want to have the same code structure and utility methods available in both projects. Therefore, this commit changes many files, but without a functional change.
2023-10-11 00:18:33 +02:00
e2baa2ee55 Send score for all members of a programming group 2023-08-24 19:32:06 +02:00
0234414bae Rename user to contributor in submission 2023-08-24 19:32:06 +02:00
245c3dba8c Update from proforma to proformaxml 2023-08-24 00:14:41 +02:00
8f446c04a9 Fix Rubocop offenses 2023-07-31 08:59:00 +02:00
06d69d8eb8 Explicitly disable feedback in submit test scenarios 2023-06-23 22:20:04 +02:00
7f0f2a64d1 Fix rubocop offenses 2023-03-13 13:34:02 +01:00
05a8e307ce Fix rubocop offenses 2023-02-27 11:09:34 +01:00
574e99eddd Fix rubocop offenses - Requires Ruby 3.1+ 2022-11-25 11:10:06 +01:00
a4e791e3de Always render templates in Controller specs 2022-11-02 12:25:33 +01:00
b866221353 rename route 2022-09-24 21:08:18 +02:00
dba3aac800 Merge branch 'master' into refactor_proforma_import_export 2022-09-13 22:47:50 +02:00
49f4f0e6c5 Refactor exercise_controller and move more checks to policy
* We introduce a custom handler for Pundit::NotAuthorizedError
2022-09-04 00:05:13 +02:00
5ace779d0c fix and add specs 2022-08-31 20:51:58 +02:00
e0c2c7b806 Hide score button if exercise has no tests
We check for all teacher-defined assessments (linter and unit tests) to determine whether scoring should be possible
2022-08-22 17:51:57 +02:00
3effdbe600 merge master 2022-08-20 22:20:52 +02:00
2141fdb1ac Refactor external_user_statistics to own controller action 2022-07-22 13:19:22 +02:00
67dd8566b6 added a test scenario to check if autosave submissions are being toggled right 2022-07-20 17:18:36 +02:00
5e9bf9141c Fix Rubocop offenses 2022-07-08 15:23:55 +02:00
c5c47715b3 Merge branch 'master' into refactor_proforma_import_export
# Conflicts:
#	spec/controllers/exercises_controller_spec.rb
2022-01-11 22:20:18 +01:00
3260d8f82f tiny refactor from exercise_found to task_found 2022-01-11 22:17:09 +01:00
ea85519163 Update bundle (with newest rubocop version) and fix offenses 2022-01-04 09:42:37 +01:00
b6bc578aea Move submission scoring from controller concern to submission model
Localization and markdown formatting is now done in a controller
spec in order to bring this logic away from the data and towards
the view.
2021-11-01 17:12:50 +01:00
cf58be97ee Fix 17 previously failing specs 2021-11-01 17:12:49 +01:00
5e913c8a1a Skip failing tests
17 tests are always failing, due to changes introduced when adding the
Runner abstraction. To know only these fail, they now get skipped in
order to make it apparent if tests that should not fail do fail in the
pipeline.
2021-11-01 17:12:48 +01:00
da0a682ffb Apply manual rubocop fixes 2021-05-14 22:03:06 +02:00
6cbecb5b39 Apply automatic rubocop fixes 2021-05-14 22:03:06 +02:00
2b32829e60 Upgrade DatabaseCleaner strategy 2021-05-12 16:47:05 +02:00
c32e7586cd Remove consumer_id from session
* Each external (and also internal) user has a consumer attached. We don't need that information twice.
2020-11-25 21:19:18 +01:00
f49cd0bed4 forbid users to import an exercise they do not have access to (previously a new one was created) 2019-12-18 17:52:34 +01:00
1ddd6e19f5 add transaction spec 2019-12-14 12:34:55 +01:00
f680916385 remove create_new functionality, when exercise exists on CH but is not editable 2019-12-13 16:43:19 +01:00
5625fa63b0 add controller specs 2019-12-06 17:25:00 +01:00
90defa8f89 Fix tests and rename request variable in specs to perform_request
Explanation: Using the variable name `request` might interfere with methods in Rails core system prevent successful test execution. See this issue: https://github.com/turbolinks/turbolinks-rails/issues/38
2018-11-06 16:49:42 +01:00
de52db89f0 Upgrade Rails to version 5.2.1 and adopt code & specs where necessary
Signed-off-by: Sebastian Serth <Sebastian.Serth@student.hpi.de>
2018-11-06 16:46:00 +01:00
0e26ab98c8 rename factory_girl_(rails) to factory_bot_(rails) 2017-11-15 15:18:07 +01:00
4badd82d58 fixed broken test 2017-01-19 14:34:49 +01:00
6bf73757ae fixing tests p3 2017-01-13 09:56:36 +01:00
9c8d0b01eb Fix reset of tasks 2015-04-20 22:30:31 +02:00
5cb8ae68b0 Added tests 2015-04-20 16:51:50 +02:00
4eef3d70d5 minor refactoring of flash messages 2015-03-23 16:42:57 +01:00
c294e3b499 do not render the development environment for exercises without visible files 2015-03-21 18:46:02 +01:00
1f46f7c3af execute test files concurrently 2015-03-16 17:51:46 +01:00
6ee0b6bf81 implemented partial batch update for exercises 2015-03-12 11:05:11 +01:00
67c7e1427e fixed issue occurring for progress bars without a value 2015-03-11 10:14:39 +01:00
42c8b47d40 concretized redirection expectations in controller specs 2015-02-24 18:57:00 +01:00
05509c2ceb added tests 2015-02-24 09:58:04 +01:00
f337f1c1a3 added tests 2015-02-23 12:44:22 +01:00