-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DRAFT: Add priorities to assignment #317
base: main
Are you sure you want to change the base?
Conversation
And also disable immediately triggering assign when user is selected
@@ -116,6 +116,15 @@ | |||
expect(post.topic.reload.assignment.assigned_to_id).to eq(user2.id) | |||
end | |||
|
|||
it 'assigns topic with priority to a user' do |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we also add a test case which passes in an invalid priority like a random string or an invalid number? My hunch is that this is not handled right now and might result in us writing invalid values into the DB.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The activerecord actually is smart about it because of the enums declared. Let me see if I can get you an error...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Assigner.new(t, u).assign(s, priority: 5)
...
ArgumentError: '5' is not a valid priority
🪄
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I do not think we have any special rescues for ArgumentError
at the controller level so this might result in a 500 response. I think we might want to ensure that the priority passed in by the client is valid and return a nicer response.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Your concern that we're writing invalid values to the DB is addressed...
But for this one where it results in 500, I'm not sure if we have to care: the only consumer for this endpoint is our frontend, and the frontend only ever passes 1-4. I'd like to avoid testing the framework if possible since this is a built-in enum feature.
Sorry my bad just realized this is a draft 😁 |
@@ -13,6 +21,7 @@ export default Controller.extend({ | |||
taskActions: service(), | |||
autofocus: not("capabilities.touch"), | |||
assigneeName: or("model.username", "model.group_name"), | |||
priorities: PRIORITIES, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you should set this in init, and have it as priorities: null
here, this is mostly due to controllers being singletons in Ember.
Where is priority displayed? don't see it in the video. |
@jjaffeux Currently it is only displayed in the modal as shown in the video. |
Screen.Recording.2022-04-20.at.2.26.35.AM.mov