Skip to content
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

Draft
wants to merge 4 commits into
base: main
Choose a base branch
from
Draft

DRAFT: Add priorities to assignment #317

wants to merge 4 commits into from

Conversation

nattsw
Copy link
Contributor

@nattsw nattsw commented Apr 19, 2022

⚠️ (page refresh at 0:06)

Screen.Recording.2022-04-20.at.2.26.35.AM.mov

@@ -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
Copy link
Contributor

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.

Copy link
Contributor Author

@nattsw nattsw Apr 21, 2022

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...

Copy link
Contributor Author

@nattsw nattsw Apr 21, 2022

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

🪄

Copy link
Contributor

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.

Copy link
Contributor Author

@nattsw nattsw Apr 25, 2022

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.

@tgxworld
Copy link
Contributor

Sorry my bad just realized this is a draft 😁

@nattsw nattsw marked this pull request as draft April 25, 2022 06:56
@@ -13,6 +21,7 @@ export default Controller.extend({
taskActions: service(),
autofocus: not("capabilities.touch"),
assigneeName: or("model.username", "model.group_name"),
priorities: PRIORITIES,
Copy link
Contributor

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.

@jjaffeux
Copy link
Contributor

⚠️ (page refresh at 0:06)

Screen.Recording.2022-04-20.at.2.26.35.AM.mov

Where is priority displayed? don't see it in the video.

@nattsw
Copy link
Contributor Author

nattsw commented Apr 25, 2022

@jjaffeux Currently it is only displayed in the modal as shown in the video.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
3 participants