-
Notifications
You must be signed in to change notification settings - Fork 783
test: add tests for NotificationIcon and RepositorySectionTitle #677
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
test: add tests for NotificationIcon and RepositorySectionTitle #677
Conversation
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.
Looks really good, thanks so much!! Just one question:
@@ -20,7 +20,7 @@ const mapStateToProps = state => ({ | |||
notificationsCount: state.notifications.notificationsCount, | |||
}); | |||
|
|||
class NotificationIconComponent extends Component { | |||
export class NotificationIconComponent extends Component { |
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.
Why does this need to be exported? Can you test NotificationIcon
which is exported at the bottom of this file?
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.
Given NotificationIcon is this component but connected to a Redux store, the options were to either just test this inner component or to test NotificationIcon itself and mock out the store etc. I can look into the latter option.
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.
Although exporting and testing the unwrapped Component seems to be recommended by Redux: https://redux.js.org/docs/recipes/WritingTests.html#connected-components
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.
Yep, you're right! This should be exported.
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.
(not to self: we might want to make this a dumb component w/o access to redux state and do all that state management elsewhere)
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.
This is so great, thank you so much @ZahraTee :)
"contributions": [ | ||
"code", | ||
"test" | ||
] |
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.
🎉
Given NotificationIcon is a connected component, I decided just to export and test the undecorated component inside, I can look into testing the connected component too if necessary. There aren't any other examples in the repo yet to indicate what to do in this case. :)
(Part of #518)