SoulUseless / pe

0 stars 0 forks source link

Past deadlines can be added #6

Open SoulUseless opened 3 years ago

SoulUseless commented 3 years ago

For the add command for the addition of an assignment, a past deadline can be added into RemindMe. This does not make sense for a reasonable user as it will be almost certain that a deadline of a past date would be an invalid input since users are highly unlikely to enter expired assignment.

Sequence of commands:

Prerequisites: have a module names CS2103; current date: 16/04/2021 Command run: add m/CS2103 a/test by/01/01/2020 0000 A reasonable user would expect this input to be rejected by the application.

image.png

nus-pe-bot commented 3 years ago

Team's Response

No response provided.

The 'Original' Bug

[The team marked this bug as a duplicate of the following bug]

Past dates accepted for exams

Currently, RemindMe accepts past dates as an argument for the exam date. However, for the typical user, this is usually not the case as the exam schedules would be provided ahead of time. Furthermore, a past date for an exam would indicate that the exam is already over. This makes the information entered moot. As such, a past date as an argument for the exam date should have been considered an invalid input.

Command Sequence: Prerequisites: Presence of module named CS2103; current date is 16/04/2021 Command executed: add e/01/01/2020 0000

image.png


[original: nus-cs2103-AY2021S2/pe-interim#655] [original labels: severity.Low type.FunctionalityBug]

Their Response to the 'Original' Bug

[This is the team's response to the above 'original' bug]

We allow history checking for tasks and so we do not ban the adding of past tasks. Furthermore, these assignments and exams date is often given by schools and should be verified before adding them to RemindMe

Items for the Tester to Verify

:question: Issue duplicate status

Team chose to mark this issue as a duplicate of another issue (as explained in the Team's response above)

Reason for disagreement: Yes, I agree that the underlying backend validation might be similar in code, but I believe the difference in circumstances surrounding this warrants this to be a different issue altogether. Furthermore, the underlying design considerations might be different, or the conclusion of this issue resolution process might be different as well.


:question: Issue response

Team chose [response.Rejected]

Reason for disagreement: “allow history checking for tasks” - this was not mentioned anywhere inside the DG nor the UG. If past dates are allowed, I believe that this should be stated inside documentation somewhere.

I stand by my stance that under normal person and regular use case, there should not be a case whereby past dates should be keyed into the system, as the information keyed in will be rendered useless when the user keys in a past date.

E.g. Assignments with a past date (in this context) would have already expired. As such, this set of information would already be not useful to the user, and should be rejected.

The team also mentions how these dates are given by schools and should be verified before adding them into RemindMe. Yes, I agree that the dates are given by schools, but these dates would never contain past dates as well as that would not make sense to both the school and the user. Furthermore, I believe that validation should be done on the application’s end as it would be able to catch additional user errors such as typos. The user should not be the one doing the validation of the parameters as it would add additional overhead for the user to conduct one final validation before keying in, which hinders usage.