Open huzaifa-99 opened 2 years ago
Question: Should a creation author be blocked from deleting a creation, if that creation is in a litigation process?
@AltiMario Is this a valid test case to track and solve?
I did this creation without materials https://web-frontend--pocre.netlify.app/creations/87db26b9-7103-4454-8077-7000f841f230 but on clicking on "proof of creation" it shows nonexistent data
This simple no-material creation the source is well displayed (the download button as well) but the link doesn't work properly you can test here https://web-frontend--pocre.netlify.app/creations/87db26b9-7103-4454-8077-7000f841f230
This simple no-material creation the source is well displayed (the download button as well) but the link doesn't work properly you can test here https://web-frontend--pocre.netlify.app/creations/87db26b9-7103-4454-8077-7000f841f230
This was relatively simple, added a fix here
I did this creation without materials https://web-frontend--pocre.netlify.app/creations/87db26b9-7103-4454-8077-7000f841f230 but on clicking on "proof of creation" it shows nonexistent data
added in original comment as point # 26
In a creation (like this https://web-frontend--pocre.netlify.app/creations/87db26b9-7103-4454-8077-7000f841f230) without co-authors don't display avatars
In a creation (like this https://web-frontend--pocre.netlify.app/creations/87db26b9-7103-4454-8077-7000f841f230) without co-authors don't display avatars
added as point 27
Question: Should a creation author be blocked from deleting a creation, if that creation is in a litigation process?
@AltiMario Is this a valid test case to track and solve?
@huzaifa-99 very good point. It is safe to delete a creation when every ongoing process is completed.
Question: Should a creation author be blocked from deleting a creation, if that creation is in a litigation process? @AltiMario Is this a valid test case to track and solve?
@huzaifa-99 very good point. It is safe to delete a creation when every ongoing process is completed.
I will create a separate issue and add to the comment here
wrong number of creations displayed in the profile
Question: Should a creation author be blocked from deleting a creation, if that creation is in a litigation process? @AltiMario Is this a valid test case to track and solve?
@huzaifa-99 very good point. It is safe to delete a creation when every ongoing process is completed.
I will create a separate issue and add to the comment here
This was added as point 30 in the original comment
@AltiMario I am not able to replicate creations point 26. Can you please confirm if you still face the issue?
EDIT: I replicated this and it was fixed with #177
@AltiMario For Creations Point 24 we are not doing any checks on the api level for "media format matches the link provided".
Example: I add a material to a creation, in that material I select type as image but in the link i provide a video link.
This will break in most cases, and currently there are some checks implemented in frontend to handle this. Any thoughts on what's the best way forward?
About #31, I think it is an uncommon use case since we allow the creation without materials. However, looking forward we could in the future allow this workflow extension (not now).
@AltiMario From NTH Point 1, I expanded the scope as I thought its nicer and now we are also adding proof and share buttons on the creation details page along with edit and delete buttons
@AltiMario I am not sure about the best way forward for Creations Point 29.
29- The creation should be correctly validated before sending to api and correct+detailed error response should be shown (this also relates to the user invitation process that is not done yet)
We can show the correct error messages and validate properly but what about the user invitations, is it something we do at this step? We already have a separate ticket #149 created for it
@AltiMario for Creations Point 24, we have a ticket in low priority #175
- Proper media formats (pdf/image/video/audio/document) are displayed for each creation on all creation pages
I would suggest we handle its priority as in my opinion the media is the most highlighted part of a creation. How do you feel about this?
@AltiMario I am not sure about the best way forward for Creations Point 29.
29- The creation should be correctly validated before sending to api and correct+detailed error response should be shown (this also relates to the user invitation process that is not done yet)
We can show the correct error messages and validate properly but what about the user invitations, is it something we do at this step? We already have a separate ticket #149 created for it
@AltiMario awaiting response
I have a suggestion but not sure if we can go that path at this stage. For creations point 36 and recognition point 11, I think we can add 2 new timestamp fields to every table/entity in the db, which would be created_at
and updated_at
. Currently we do have date fields, but they do not tell us the date when the record was inserted or updated in the db.
These new fields would be auto updated (and will not be mutable by api end user). A new record in the table will add the current date in ISO format as created_at
, and whenever that record is updated we update the updated_at
field with the current timestamp. This would help us in many more ways.
What do you think @AltiMario?
@huzaifa-99 I agree with you but I would add only the created_at
field that is good enough for the display ordered by creation.
@huzaifa-99 I agree with you but I would add only the
created_at
field that is good enough for the display ordered by creation.
created_at
was added in this PR
Added test cases for litigations
The dates issue was fixed in #235 and #236. These tests will be checked off
@AltiMario For litigations point 32
32- A litigation issuer and assumed author should not be added as a litigation judge
We have a small backdoor that may sometimes cause this bug.
A litigation issuer and assumed author are added as judge of the same litigation only when there are not enough users in the system. Example: if there are only 2 users in the system, the system will add them as the judge to their own litigation.
What do you suggest we do in this situation?
If there are not enough valid users for judgement, the process should be paused (flagging it as pending) until the minimum of users is achieved. looks complicated but we can continue to keep the process sync as the currently we do. Every time there is a new ownership claim the system will try to create a new jury for all the pending cases.
If there are not enough valid users for judgement, the process should be paused (flagging it as pending) until the minimum of users is achieved. looks complicated but we can continue to keep the process sync as the currently we do. Every time there is a new ownership claim the system will try to create a new jury for all the pending cases.
@AltiMario issue created https://github.com/eLearningDAO/POCRE/issues/250. Will be doing this after the other litigation tests as this is kind of an edge case
@AltiMario I just realised, we don't allow or we don't have a workflow to allow Litigations Point 9, 17 and 18. Maybe i just wrote it in the flow. Are these valid point to consider?
9- A user claiming a material/creation should be able to withdraw the litigation (in this case the original author wins) 17- A claimer should not be able to withdraw their claim before the litigation has started. 18- A claimer should not be able to withdraw their claim after the litigation has ended.
If we allow this, then there can also be a secnario in which
For litigation points 24, 26, 28, 38, we have a minor bug. If a litigation has a creation to litigate, then that creation is not shown correctly in the litigation details page (it fails the test cases and does not show correct data) and shows up like this
The bug related to incorrect material link in litigation details page was fixed in #234 and the tagged issue https://github.com/eLearningDAO/POCRE/issues/188 for #234 only reports incorrect material. Will be adding this bug related to creations in https://github.com/eLearningDAO/POCRE/issues/188 and reopening https://github.com/eLearningDAO/POCRE/issues/188
From my last comment here. The creations display on litigation details page was fixed in #252.
Litigations points 26, 28 and 38 will be checked off now. For litigation points 24 as it involves judges and as judges are chosen randomly from the reputed users pool, so it's hard to test since any random account will be set as judge.
To test judge related litigation test cases, we will probably have to test with some fixed user accounts acting as a judge. I will be doing these test on local api (with some changes) but using the live db to have same data source.
A lot of our litigation workflow were updated in #287 and most of the litigation workflow tests in the OP are invalided
The pending litigation test cases 9, 17 and 18 are also invalidated after #287, so removing them from the tests.
This issue is to track all web app related tests and the valid test cases that should pass. Any new test case discovered or any update to existing test case should happen on this original comment for better tracking.
Below are some test cases that should work.
IMPORTANT: For each test case, please try at least 2 times
Test Cases
Creation
NOTE: When testing anything below with materials, please be sure to test for both cases (1 material and multiple materials) - [x] 1- A new non-draft creation **without material/s** is created successfully - [x] 2- Correct data is displayed for non-draft creation **without material/s** on the creations home page for the creation author - [x] 3- Correct data is displayed for non-draft creation **without material/s** on the creations details page for the creation author - [x] 4- Correct data is displayed for non-draft creation **without material/s** on the creations details page for a public user - [x] 5- A new draft creation **without material/s** is created successfully - [x] 6- Correct data is displayed for draft creation **without material/s** on the creations home page for the creation author - [x] 7- Correct data is displayed for draft creation **without material/s** on the creations details page for the creation author (edit and delete buttons should only be displayed for creation author, preview and share buttons for all users) - [x] 8- A user is not allowed to visit details page for a draft creation of another user until that creation is in draft status - [x] 9- A creation author is allowed to edit a draft creation **without material/s** - [x] 10- A creation author is allowed to edit a draft creation **with material/s** - [x] 11- A draft creation after publishing has correct data on creation home page - [x] 12- A draft creation after publishing has correct data on creation details page - [x] 13- A creation author is allowed to delete a non-draft non-ongoing creation successfully - [x] 14- A creation author is allowed to delete a draft creation successfully - [x] 15- A creation author is not allowed to edit a published creation **with or without material/s** - [x] 16- A new non-draft creation **with material/s** is created successfully - [x] 17- Correct data is displayed for non-draft creation **with material/s** on the creations home page for the creation author - [x] 18- Correct data is displayed for non-draft creation **with material/s** on the creations details page for the creation author (delete button should only be displayed for creation author, preview and share buttons for all users) - [x] 19- Correct data is displayed for non-draft creation **with material/s** on the creations details page for a public user - [x] 20- A new draft creation **with material/s** is created successfully - [x] 21- Correct data is displayed for draft creation **with material/s** on the creations home page for the creation author - [x] 22- Correct data is displayed for draft creation **with material/s** on the creations details page for the creation author (edit and delete buttons should only be displayed for creation author, preview and share buttons for all users) - [x] 23- All external and internal links to other pages work correctly on all creation pages - [x] 24- Proper media formats (pdf/image/video/audio/document) are displayed for each creation on all creation pages ~~- [x] 25- All Media formats (pdf/image/video/audio/document) work correctly for each creation on all creation pages~~ Redundant of 24 - [x] 26- Proof of creation dialog should show correct and valid data - [x] 27- Avatars should not be displayed on the creation card if there are no external/co-authors - [x] 28- Creation Tags should not be duplicated if they are the same lettercase - [x] 29- The creation should be correctly validated before sending to api and correct+detailed error response should be shown (this also relates to the user invitation process) - [x] 30- A creation should not be deletable if it is in any ongoing process ~~- [x] 31- A author should be able to add themselves as a material author in a creation~~ [Not Implementing](https://github.com/e-Learning-DAO/POCRE/issues/158#issuecomment-1336151765) - [x] 32- Non-authenticated users should be redirected to a 404 page when they visit `/creations/create`, `creations/${creation_id}/update` - [x] 33- Recognitions for creation materials should be sent to the correct authors - [x] 34- If a creation media cannot be rendered, then show an external link with the link of that media - [x] 35- The author search should be case insensitive in creations step 2 - [x] 36- All creations should be shown by latest first in creations home page - [x] 37- Creations search should work correctly on the creations home page - [x] 38- Correct creation dates should be shown on all creation pagesRecognition
- [x] 1- A creation with material should generate a recognition for the author linked with material - [x] 2- Correct data should be displayed on the recognitions **home** page for the recognized author - [x] 3- Correct data should be displayed on the recognitions **details** page for the recognized author - [x] 4- Correct data should be displayed on the recognitions **home** page for author that made recognition - [x] 5- Correct data should be displayed on the recognitions **details** page for author that made recognition - [x] 6- Correct data should be displayed on the recognitions **details** page for a general user - [x] 7- A recognition should only be displayed to the recognized author and the author that made recognition on the recognitions home page - [x] 8- All users should be able to view the recognition from the recognition details page - [x] 9- Proper media formats (pdf/image/video/audio/document) are displayed for each recognition on all recognition pages - [x] 10- All internal and external links should work correctly on all recognition page - [x] 11- All recognitions should be shown by latest first on the recognition home page - [x] 12- The recognized user should be able to respond (accept/decline) to the recognition on the recognition details page - [x] 13- Correct creation should be linked to each recognition on the recognition details page - [x] 14- A user should be able to share and see proof of a recognition from the recognition details page - [x] 15- Correct recognition dates should be shown on all recognition pagesLitigation
- [x] 1- All litigation links should only be shown to auth users - [x] 2- A user should be able to open a new claim (litigation) for a creation of another user (for a creation with no material/s) - [x] 3- A user should be able to open a new claim (litigation) for a material belonging to a creation of another user - [x] 4- A user should be able to open a new claim (litigation) for a creation of another user if the creation has more than 1 materials - [x] 5- A user should not be able to open a litigation for a creation (with no materials) that is owned by themselves - [x] 6- A user should not be able to open a litigation for creation material/s that is owned by themselves. - [x] 7- A user should not be able to open a new claim (litigation) for an already claimed creation - [x] 8- A user should not be able to open a new claim (litigation) for an already claimed material ~~- [ ] 9- A user claiming a material/creation should be able to withdraw the litigation (in this case the original author wins)~~ - [x] 10-A) - An author should be able to withdraw or disown the creation/material in litigation (in this case the claimer wins) - [x] 10-B)- The system should successfully select random reputed users (in range of 3-7) as judges for a litigation - [x] 10-C)- A reputed user can be a judge in many litigations - [x] 11- A judge should successfully be able to vote in favour of the litigation claimer - [x] 12- A judge should successfully be able to vote against the litigation claimer - [x] 13- A judge should successfully be able to not vote (or vote undecided/neutral) between the two litigation parties. - [x] 14- A judge should only be able to vote once for a litigation (it cannot be changed later) - [x] 15- A judge should not be able to vote before the litigation has started - [x] 16- A judge should not be able to vote after the litigation has ended. ~~- [ ] 17- A claimer should not be able to withdraw their claim before the litigation has started.~~ ~~- [ ] 18- A claimer should not be able to withdraw their claim after the litigation has ended.~~ - [x] 19- The original author should not be able to withdraw authorship/claim before the litigation has started. - [x] 20- The original author should not be able to withdraw authorship/claim after the litigation has ended. - [x] 21- Correct winner should be detected by the system based upon the most litigation votes by judges (and on each new vote by a judge) - [x] 22- Correct winner should be able to redeem (transfer ownership) of the litigation material/creation for themselves after the litigation has ended - [x] 23- Correct data should be displayed for a judge on the litigation home page - [x] 24- Correct data should be displayed for a judge on the litigation details page - [x] 25- Correct data should be displayed for a claimer on the litigation home page - [x] 26- Correct data should be displayed for a claimer on the litigation details page - [x] 27- Correct data should be displayed for the original/current author on the litigation home page - [x] 28- Correct data should be displayed for the original/current author on the litigation details page - [x] 29- All links should work correctly on all litigation pages - [x] 30- All dates should be displayed correctly on all litigation pages - [x] 31- The litigation status should be updated successfully https://github.com/eLearningDAO/POCRE/issues/109 - [ ] 32- A litigation issuer and assumed author should not be added as a litigation judge - [x] 33- A creation (with no materials) in draft status should not be available for litigations - [x] 34- A creation material/s in draft status should not be available for litigations - [x] 35- A creation (with no materials) that has already been litigated should not be available for litigation again - [x] 36- A creation material/s that has/have already been litigated should not be available for litigation again - [x] 37 - Correct data should be shown for closed litigations on the home page - [x] 38 - Correct data should be shown for closed litigations on the details page - [x] 39- An author should be able to start the litigation process (after this the judges of litigations will be able to vote) - [x] 40- The ownership of a withdrawn litigation should automatically be transferred to litigation issuer from the assumed author of the creation/material - [x] 41- The litigations should be displayed in the 'Waiting authorship recognition' section for a judge before that litigation starts. - [x] 42- When a litigation is started it should be displayed in the 'To Judge' section for a judge - [x] 43- When a litigation ends it should be displayed in the 'Closed' section for all users. - [x] 44- The litigations should be displayed at all times in the 'Waiting authorship recognition' section for a litigation issuer, when a specific litigation is closed only then it should be displayed in the 'Closed' section - [x] 45- The litigations should be displayed at all times in the 'Opened against me' section for a litigation assumed author, when a specific litigation is closed only then it should be displayed in the 'Closed' section - [x] 46- Invited users should not be added as judgesGeneral
- [x] 1- Clicking on the profile link (in header) should generate a correct link even on multiple presses - [x] 2- Use `` from `react-router-dom` on all pages