Wunderbyte-GmbH / moodle-local_catquiz

ALiSe CAT Quiz
Other
1 stars 2 forks source link

Test the model override form #410

Closed davidszkiba closed 1 month ago

davidszkiba commented 7 months ago

This is about testing the following form:

Screenshot 2024-02-13 at 09 30 13

If you navigate to the catquiz manager via the button in the main navigation menu, then select the "Questions" tab and there select a scale, you should see a table that lists all questions assigned to the selected CAT scale. In that question table, you can click on the cogwheel icon in the Action column to get more information about that question. On that page, there is this form that lets you edit which item parameter is connected to the selected question (there is one item param for each model: one for 1PL rasch, one for 2PL raschbirnbaum and one for 3PL mixedraschbirnbaum). You see the form once you click "Edit"

So the information about an item is displayed in two modes: as static text and, when clicking on the "Edit" button, as form where the values can be edited.

Please test the following things

Note: there is another card on that page that shows the highest selected status among all models and the name of the corresponding model. This will show updated values only after a page reload.

The status order is as follows: manually confirmed > manually updated > calculated > not yet calculated > manually excluded

We should also check that the information here is correct:

semteacher commented 6 months ago

@davidszkiba

  1. In case of "true/false" questions - cannot open "mamage details" (cogwheel) page for question. Got error
    Exception - Warning: Attempt to read property "status" on bool in [dirroot]/local/catquiz/classes/output/testitemdashboard.php on line 228
    Stack trace:
    line 157 of /lib/behat/lib.php: Exception thrown
    line 228 of /local/catquiz/classes/output/testitemdashboard.php: call to behat_error_handler()
    line 316 of /local/catquiz/classes/output/testitemdashboard.php: call to local_catquiz\output\testitemdashboard->get_itemstatus()
    line 187 of /local/catquiz/classes/output/catscalemanager/managecatscaledashboard.php: call to local_catquiz\output\testitemdashboard->return_as_array()
    line 66 of /local/catquiz/manage_catscales.php: call to local_catquiz\output\catscalemanager\managecatscaledashboard->__construct()
  2. Multichoice questions, 2PL Rasch-Birnbaum model - cannot save changes from "Manually updated" to "Calculated". Got error:
    Exception - Warning: Undefined property: stdClass::$override_mixedraschbirnbaum in [dirroot]/local/catquiz/classes/form/item_model_override_selector.php on line 363
    Stack trace:
    * line 157 of /lib/behat/lib.php: Exception thrown
    * line 363 of /local/catquiz/classes/form/item_model_override_selector.php: call to behat_error_handler()
    * line 207 of /local/catquiz/classes/form/item_model_override_selector.php: call to local_catquiz\form\item_model_override_selector->generate_model_fields()
    * line 75 of /lib/form/classes/external/dynamic_form.php: call to local_catquiz\form\item_model_override_selector->process_dynamic_submission()
    * line ? of unknownfile: call to core_form\external\dynamic_form::execute()
    * line 253 of /lib/external/classes/external_api.php: call to call_user_func_array()
    * line 83 of /lib/ajax/service.php: call to core_external\external_api::call_external_function()

    In fact - got same type of errors for any attempt to save changes

davidszkiba commented 6 months ago

@semteacher thanks, I take a look

eynimeni commented 6 months ago

@semteacher we looked into 1) and were wondering, where you got the true/false question from? did you import the corresponding itemparams with the catmanager importer (csv) ?

semteacher commented 6 months ago

@eynimeni I have used this fixture file with 3 true/false questions for basic quick tests for a long time. If plugin (testing approach) does not supoort specific question types - it has to be explicitly noted. Or even prohibited to add / import such types of questions - to not confuse users. That is my opinion and reasons I reported above issue

eynimeni commented 6 months ago

ok thank you. we will find a way to treat questions that don't have itemparams assigned. thank you.

semteacher commented 4 months ago

@davidszkiba The issues described in this comment had not been resolved yet. And it appears for any types of questions. I have added steps to the behat to test "Manually confirmed" case and got one of that errors Moreover - I am receiving exactly the same warnings when tying to perform manual editing after interuption of automated test. Those warnings might not appears during maual tests if error level is too high - but they always breaks test because errorlevel is maximal in this case. So it is necessary to fix it. I can try but you definitely know object model of catquiz better. Could you take a look into it?

davidszkiba commented 4 months ago

@semteacher Ok thank you. You're right, the underlying issue should be fixed. And yes, I'll take a look.

eynimeni commented 2 months ago

Update unter Berücksichtigung der neuen Column in den Itemparametern

davidszkiba commented 2 months ago

I will update the form according to the latest changes to the DB structure:

Each item in the local_catquiz_items table has a field activeparamid, that points to the item params that are used to represent that item.

davidszkiba commented 2 months ago

-> fertig machen, nachdem polytome items in der DB gespeichert werden können

davidszkiba commented 1 month ago

@ralferlebach

So sieht im Moment die Übersicht aus:

Image

Wenn man ein Item bearbeitet, sieht es so aus:

Image

Ich hab mal kurz mit Georg darüber gesprochen, und der Vorschlag wäre, dass wir:

Es muss noch berücksichtigt werden, was mit dem Status passiert, wenn ein Modell ausgewählt wird. Im Moment gibt es folgende Status Werte:

Soll ein Modell mit Status "Manually excluded" überhaupt ausgewählt werden können? Wenn ja, ändert sich der Status automatisch auf "Manually confirmed"? Was passiert dann mit anderen Modellen, die Status "Manually confirmed" haben - behalten die diesen Status oder soll er dort herabgesetzt werden?

eynimeni commented 1 month ago