lestersimjj / pe

0 stars 0 forks source link

Item purchase date can be in the future #7

Open lestersimjj opened 2 years ago

lestersimjj commented 2 years ago

Describe the bug
The purchase date of an item should be anytime earlier than today but a user is able to enter a date that is after today's date eg. in year 2024.

To Reproduce

add n/`Speakers` s/`S123987` t/`Speaker` c/`1000` pf/`Loud_Technologies` pd/`2024-02-23`

Expected Behavior
Error. Purchase date of item cannot be in the future.

Actual Behavior

Equipment successfully added: Speakers, serial number S123987

Screenshots

image.png

soc-se-bot commented 2 years ago

Team's Response

Duplicate of #692 We decided to change to FeatureFlaw because it does not affect the functionality of the application.

The 'Original' Bug

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

Adding items with future purchase dates

To reproduce: Add a product with a date after the current date

Expected: An error stating that user should not be able to add an item that has not been purchased

Actual: Item is successfully added

Since this is an equipment manager to keep track of inventory, I would believe that only items that have already been purchased should be allowed to be added. Otherwise there could be a duplicate adding (if the user forgets and adds it again when it is purchased), or differences in the details that may be hard to keep track of (price could change when actually purchasing the product, and it may be hard for users to keep track of what needs to be edited). In the future I believe you wish to use the equipment manager for equipment bookings - having future purchases in the mix could make this very confusing, though not impossible!

image.png

image.png


I think this is part of the same issue, but it is possible to enter dates that do not really make sense (e.g. very far in the past). Perhaps there could be some limitations on a range of dates that could prevent any typos or other human error when typing dates.

image.png


[original: nus-cs2113-AY2122S2/pe-interim#629] [original labels: type.FeatureFlaw severity.Medium]

Their Response to the 'Original' Bug

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

Working as intended, sometimes we want to key in the record before the official purchase date. Besides, the duplicate adding mentioned should not be an issue because we already have measures to deal with duplicate serial numbers. This will not affect the operation of the application and causes little inconvenience to users, hence it should be Low severity.

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: [replace this with your explanation]


:question: Issue response

Team chose [response.Rejected]

Reason for disagreement: I disagree as I do not think it adds value to the user if we allow records to be entered before their official purchase date. The purpose of EquipmentManager is to keep track of equipments in the inventory and when user calls the list method, it is reasonable for the user to expect to see equipments that are in the current inventory and not items that are not in the club's possession yet.

Eg. If a user adds 10 speakers that will be purchased in 3 years time, calling the list command will show these 10 speakers in the inventory that the club has but in reality, it has not been purchased yet.

Furthermore, as the team is looking to implement a booking system under Planned Features and having these items that have not been purchased yet can lead to inaccurate information being shown to the user.


:question: Issue type

Team chose [type.FeatureFlaw] Originally [type.FunctionalityBug]

Reason for disagreement: [replace this with your explanation]


:question: Issue severity

Team chose [severity.Low] Originally [severity.Medium]

Reason for disagreement: I disagree as allowing future purchase dates to be added, the program is tracking items that are not in the current inventory and affects the usability for users.