_mocha --compilers js:babel-core/register,tsx:typescript-require \
--recursive "frontend/**/*.tests.js*" \
--require ignore-styles \
--require "frontend/.test.setup.js" \
--require "frontend/test/loaderMock.js"
Warning: Failed prop type: Invalid prop `src` of type `function` supplied to `OrgLogoIcon`, expected `string`.
in OrgLogoIcon (created by AppConfigForm)
in AppConfigForm (created by Form)
in Form (created by Unknown)
in Unknown
(node:446) DeprecationWarning: 'root' is deprecated, use 'global'
App - component
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 3): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 4): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
✓ renders
✓ loads the current user if there is an auth token but no user
✓ does not load the current user if is it already loaded
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 5): undefined
✓ does not load the current user if there is no auth token
AuthenticatedAdminRoutes - layout
✓ redirects to the homepage if the user is not an admin
✓ does not redirect if the user is an admin
AuthenticatedRoutes - component
✓ renders if there is a user in state
✓ redirects to reset password is force_password_reset is true
✓ redirects to login without a user
✓ does not redirect to login if the user is loading
DropdownButton - component
✓ calls the clicked item's onClick attribute
EllipsisMenu - component
✓ Displays children on click
EllipsisMenu - helpers
#calculateTooltipDirection
✓ returns "left" if the element does not fit to the right in the browser
✓ returns "right" if the element fits to the right in the browser
Footer - component
✓ renders
AppConfigForm - form
Organization Name input
✓ renders an input field (49ms)
Organization Avatar input
✓ renders an input field (45ms)
Kolide App URL input
✓ renders an input field
Sender Address input
✓ renders an input field
SMTP Server input
✓ renders an input field
Port input
✓ renders an input field
Enable SSL/TLS input
Warning: Checkbox is changing an uncontrolled input of type checkbox to be controlled. Input elements should not switch from uncontrolled to controlled (or vice versa). Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://fb.me/react-controlled-components
✓ renders an input field
SMTP user name input
✓ renders an input field
SMTP user password input
✓ renders an HTML password input
✓ renders an input field
Advanced options
✓ does not render advanced options by default
✓ renders advanced options when "Advanced Options" is clicked (60ms)
AppConfigForm - validations
✓ returns a valid object when the form data is valid
✓ validates presence of the org_name field
✓ validates presence of the kolide_server_url field
smtp configurations
✓ validates the sender address
✓ validates the smtp server
✓ validates the smtp server
✓ validates the password if auth type is not "none"
✓ validates the user_name if auth type is not "none"
✓ does not validate smtp config if only password is present and it is the fake password
✓ does not validate the user_name and password if the auth type is "none"
EditUserForm - form
✓ sends the users changed attributes when the form is submitted
ChangePasswordForm - component
✓ has the correct fields (49ms)
✓ renders the password fields as HTML password fields
✓ calls the handleSubmit props with form data
✓ calls the onCancel prop when CANCEL is clicked
✓ does not submit when the new password is invalid (38ms)
ConfigOptionForm - form
1) renders form fields for the config option name and value
2) calls the onChangeFunc prop when the form updates
Warning: Failed prop type: The prop `value` is marked as required in `InputField`, but its value is `null`.
in InputField (created by ConfigOptionForm)
in ConfigOptionForm (created by Form)
in Form (created by Unknown)
in Unknown
Warning: `value` prop on `input` should not be null. Consider using the empty string to clear the component or `undefined` for uncontrolled components.
in input (created by InputField)
in div (created by FormField)
in FormField (created by InputField)
in InputField (created by ConfigOptionForm)
in form (created by ConfigOptionForm)
in ConfigOptionForm (created by Form)
in Form (created by Unknown)
in Unknown
✓ renders the input fields as disabled when the option is read_only or name and value are present (97ms)
✓ calls onRemove with the formdata when the ex icon is clicked
ConfigOptionsForm - form
Warning: Failed prop type: The prop `onRemoveOption` is marked as required in `ConfigOptionsForm`, but its value is `undefined`.
in ConfigOptionsForm
Warning: Failed prop type: The prop `onFormUpdate` is marked as required in `ConfigOptionsForm`, but its value is `undefined`.
in ConfigOptionsForm
Warning: Failed prop type: The prop `onRemove` is marked as required in `ConfigOptionForm`, but its value is `undefined`.
in ConfigOptionForm (created by Form)
in Form (created by ConfigOptionsForm)
in li (created by ConfigOptionsForm)
in ul (created by ConfigOptionsForm)
in div (created by ConfigOptionsForm)
in ConfigOptionsForm (created by Unknown)
in Unknown
✓ renders a ConfigOptionForm for each completed config option (57ms)
✓ calls the onFormUpdate prop with the old and new option when the option is updated
error rendering
✓ sets errors on the ConfigOptionForm correctly when there are errors
✓ sets errors on the ConfigOptionForm correctly when there are errors on a different object
✓ sets errors on the ConfigOptionForm correctly when there are no errors
ConfigurePackQueryForm - component
form fields
3) updates form state
submitting the form
4) submits the form with the form data
ConfirmInviteForm - component
✓ renders
✓ renders the base error
✓ calls the handleSubmit prop with the invite_token when valid
name input
✓ changes form state on change
✓ validates the field must be present
username input
✓ changes form state on change
✓ validates the field must be present
password input
✓ changes form state on change
✓ validates the field must be present
password_confirmation input
✓ changes form state on change
✓ validates the password_confirmation matches the password
✓ validates the field must be present
Checkbox - component
✓ renders
✓ calls the "onChange" handler when changed
Dropdown - component
✓ renders the dropdown
5) selects a value from dropdown
TargetOption - component
✓ renders a label option for label targets
✓ renders a host option for host targets
✓ calls the onSelect prop when + icon button is clicked
✓ calls the onMoreInfoClick prop when the item content is clicked
ForgotPasswordForm - component
✓ renders the base error
✓ renders an InputFieldWithIcon components
✓ updates component state when the email field is changed
✓ it does not submit the form when the form fields have not been filled out
✓ submits the form data when the form is submitted
✓ does not submit the form if the email is not valid
LoginForm - component
✓ renders the base error
✓ renders 2 InputField components
✓ updates component state when the username field is changed
✓ updates component state when the password field is changed
✓ it does not submit the form when the form fields have not been filled out
✓ submits the form data when form is submitted
EditPackForm - component
form fields
✓ has the correct form fields
form submission
✓ submits the forms with the form data (91ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 6): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
✓ calls the onCancel prop when "Cancel" is clicked (50ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 7): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
PackForm - component
✓ renders the base error (95ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 8): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 9): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
✓ renders the correct components (73ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 10): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
✓ validates the query pack name field (58ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 11): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
✓ calls the handleSubmit prop when a valid form is submitted (52ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 12): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
QueryForm - component
Warning: Failed prop type: The prop `onSelect` is marked as required in `SelectTargetsDropdown`, but its value is `undefined`.
in SelectTargetsDropdown (created by QueryForm)
in QueryForm (created by Form)
in Form (created by Unknown)
in Unknown
✓ renders the base error (251ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 13): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 14): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
✓ renders InputFields for the query name and description (75ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 15): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
✓ renders a "stop query" button when a query is running (71ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 16): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
✓ renders a "run query" button when a query is not running (97ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 17): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
✓ calls the onStopQuery prop when the stop query button is clicked (74ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 18): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
✓ validates the query name before saving changes (186ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 19): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
✓ calls the handleSubmit prop when the form is valid (123ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 20): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
✓ enables the Save Changes button when the name input changes (79ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 21): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
✓ enables the Save Changes button when the description input changes (101ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 22): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
✓ calls the onSaveAsNew prop when "Save As New" is clicked and the form is valid (136ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 23): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
✓ does not call the onSaveAsNew prop when "Save As New" is clicked and the form is not valid (163ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 24): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
✓ calls the onRunQuery prop with the query text when "Run Query" is clicked and the form is valid (72ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 25): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
AdminDetails - form
username input
✓ renders an input field
password input
✓ renders an input field
password confirmation input
✓ renders an input field
email input
✓ renders an input field
submitting the form
✓ validates the email field
✓ validates the email field
✓ validates the password fields match
✓ validates the password field
✓ submits the form when valid (49ms)
ConfirmationPage - form
✓ renders the user information
✓ submits the form
KolideDetails - form
kolide web address input
✓ renders an input field
✓ updates state when the field changes
submitting the form
✓ validates the presence of the kolide web address field
✓ validates the kolide web address field starts with https://
✓ submits the form when valid
OrgDetails - form
organization name input
✓ renders an input field
✓ updates state when the field changes
organization logo URL input
✓ renders an input field
✓ updates state when the field changes
submitting the form
✓ validates presence of org_name field
✓ validates the logo url field starts with https://
✓ submits the form when valid
RegistrationForm - component
✓ renders AdminDetails and header on the first page
✓ renders OrgDetails on the second page
✓ renders KolideDetails on the third page
✓ renders ConfirmationPage on the fourth page (38ms)
ResetPasswordForm - component
✓ updates component state when the new_password field is changed
✓ updates component state when the new_password_confirmation field is changed
✓ it does not submit the form when the form fields have not been filled out
✓ it does not submit the form when only the new password field has been filled out
✓ submits the form data when the form is submitted
✓ does not submit the form if the new password confirmation does not match
✓ does not submit the form if the password is invalid
UserSettingsForm - component
Warning: Failed prop type: The prop `onCancel` is marked as required in `UserSettingsForm`, but its value is `undefined`.
in UserSettingsForm (created by Form)
in Form (created by Unknown)
in Unknown
✓ has the correct fields
✓ calls the handleSubmit props with form data (54ms)
✓ initializes the form with the users data
valid_email - validators
✓ returns true for valid emails
✓ returns false for invalid emails
validPassword
✓ is invalid if the password is not at least 7 characters including a number and a symbol
✓ is valid if the password is at least 7 characters and includes a number and a symbol
validateEquality - validator
✓ returns true for equal inputs
✓ returns false for unequal inputs
validatePresence - validator
✓ returns true for valid inputs
✓ returns false for invalid inputs
validateQuery
✓ rejects malformed queries (63ms)
✓ rejects blank queries
✓ rejects create queries (41ms)
✓ rejects insert queries (50ms)
✓ accepts valid queries (260ms)
AddHostModal - component
✓ clicking Reveal Secret should change input type
HostDetails - component
✓ calls the onDestroyHost prop when the action button is clicked on an offline host
✓ calls the onDestroyHost prop when the action button is clicked on a mia host
✓ calls the onQueryHost prop when the action button is clicked on an online host
HostsTable - component
✓ calls the onDestroyHost prop when the action button is clicked on an offline host
✓ calls the onDestroyHost prop when the action button is clicked on a mia host
✓ calls the onQueryHost prop when the action button is clicked on an online host
Icon - component
✓ renders
OrgLogoIcon - component
✓ renders the Kolide Logo by default
✓ renders the image source when it is valid
PlatformIcon - component
✓ renders
✓ renders text if no icon
Timer convertSeconds helper
✓ converts seconds to hh:mm:ss
Timer - component
✓ play() and pause() function
✓ should reset after pause
✓ should not reset when stopped
✓ should not reset when it continues
EditPackFormWrapper - component
✓ does not render the EditPackForm by default
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 26): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
✓ renders the EditPackForm when isEdit is true (49ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 27): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
✓ calls onEditPack when EDIT is clicked
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 28): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
PacksList - component
✓ renders
✓ calls the onCheckAllPacks prop when select all packs checkbox is checked
✓ calls the onCheckPack prop when a pack checkbox is checked
PacksList - Row - component
Warning: validateDOMNesting(...): <tr> cannot appear as a child of <div>. See div > (unknown) > Row > ClickableTableRow > tr.
✓ renders
✓ calls the onCheck prop with the value and pack id when checked
✓ outputs host count
QueryPageWrapper - helpers
#fetchQuery
when the API call is successful
✓ dispatches a load successful action
when the API call is unsuccessful
✓ pushes to the new query page
✓ renders a flash error message
QueryPageWrapper - component
/queries/:id
✓ dispatches an action to get the query when there is no query
✓ calls the fetchQuery helper function
QueryResultsTable - component
✓ renders
✓ does not return HTML when there are no query results
✓ renders a ProgressBar component
✓ sets the column headers to the keys of the query results
✓ filters by hostname
✓ calls the onExportQueryResults prop when the export button is clicked
ScheduledQueriesList - component
Warning: Failed prop type: The prop `onSelectAllQueries` is marked as required in `ScheduledQueriesList`, but its value is `undefined`.
in ScheduledQueriesList
✓ renders a ScheduledQueriesListItem for each scheduled query
✓ renders "No queries found" help text when scheduled queries are available but the scheduled queries are filtered out
✓ renders initial help text when no queries have been scheduled yet
ScheduledQueriesListItem - component
Warning: validateDOMNesting(...): <tr> cannot appear as a child of <div>. See div > (unknown) > ScheduledQueriesListItem > tr.
✓ renders the scheduled query data
✓ renders a Checkbox component
✓ calls the onSelect prop when a checkbox is changed
ScheduledQueriesListWrapper - helpers
#filterQueries
✓ returns an empty array when given an empty array
✓ returns an array of queries that have a matching query name
ScheduledQueriesListWrapper - component
✓ renders the "Remove Query" button when queries have been selected
✓ calls the onRemoveScheduledQueries prop (40ms)
✓ filters queries (46ms)
✓ allows selecting all scheduled queries at once (41ms)
PanelGroup - component
✓ renders a PanelGroupItem for each group item
PanelGroupItem - component
✓ renders the appropriate icon
✓ renders the item text
✓ renders the item count
QueryDetailsSidePanel - component
✓ renders (43ms)
✓ renders a read-only Kolide Ace component with the query text
✓ calls the onEditQuery prop when Edit/Run Query is clicked
QuerySidePanel - component
✓ renders the selected table in the dropdown (51ms)
✓ calls the onOsqueryTableSelect prop when a new table is selected in the dropdown (50ms)
✓ renders a CTA to show more columns (45ms)
ScheduleQuerySidePanel - component
✓ renders SearchPackQuery
UserBlock - helpers
#userActionOptions
✓ returns the correct options for invites
✓ returns the correct options for an enabled user
✓ returns the correct options for a disabled user
✓ returns the correct options for an admin
✓ returns the correct options for the current user
#userStatusLabel
✓ returns the correct options for an invite
✓ returns the correct options for an enabled user
✓ returns the correct options for a disabled user
UserBlock - component
✓ renders a user block (61ms)
6) calls the onToggleEditUser prop with the user when Modify Details is selected
7) calls the onSelect prop with the user when Promote User is selected
8) calls the onSelect prop with the user when Demote User is selected
9) calls the onSelect prop with the user when Disable Account is selected
10) calls the onSelect prop with the user when Enable Account is selected
11) calls the onSelect prop with the user when Require Password Reset is selected
✓ calls the onEditUser prop with the user and updated user when the edit form is submitted
Kolide API - helpers
#labelSlug
✓ creates a slug for the label
#formatConfigDataForServer
✓ splits config into categories for the server
#formatSelectedTargetsForApi
✓ splits targets into labels and hosts
✓ appends `_id` when appendID is specified
#setupData
✓ formats the form data to send to the server
Kolide - API client
defaults
✓ sets the base URL
statusLabels
✓ #getCounts
labels
#create
✓ calls the appropriate endpoint with the correct parameters
#destroy
✓ calls the appropriate endpoint with the correct parameters
configOptions
✓ #loadAll
✓ #update
hosts
#loadAll
✓ calls the correct endpoint with the correct params
#destroy
✓ calls the correct endpoint with the correct params
packs
✓ #createPack
✓ #destroyPack
#updatePack
✓ sends the host and/or label ids if packs are changed
✓ does not send the host or label ids if packs are not changed
queries
✓ #createQuery
✓ #destroyQuery
✓ getQueries
✓ #getQuery
#run
✓ calls the correct endpoint with the correct params
users
#changePassword
✓ calls the appropriate endpoint with the correct parameters
#enable
✓ calls the appropriate endpoint with the correct parameters
#updateAdmin
✓ calls the appropriate endpoint with the correct parameters
#getConfig
✓ calls the appropriate endpoint with the correct parameters
#getInvites
✓ calls the appropriate endpoint with the correct parameters
#createScheduledQuery
✓ calls the appropriate endpoint with the correct parameters
#destroyScheduledQuery
✓ calls the appropriate endpoint with the correct parameters
#getScheduledQueries
✓ calls the appropriate endpoint with the correct parameters
#getTargets
✓ correctly parses the response
#getUsers
✓ calls the appropriate endpoint with the correct parameters
#inviteUser
✓ calls the appropriate endpoint with the correct parameters
#me
✓ calls the appropriate endpoint with the correct parameters
#loginUser
✓ calls the appropriate endpoint with the correct parameters
#logout
✓ calls the appropriate endpoint with the correct parameters
#forgotPassword
✓ calls the appropriate endpoint with the correct parameters when successful
✓ return errors correctly for unsuccessful requests
#resetPassword
✓ calls the appropriate endpoint with the correct parameters when successful
✓ return errors correctly for unsuccessful requests
#revokeInvite
✓ calls the appropriate endpoint with the correct parameters
#setup
✓ calls the appropriate endpoint with the correct parameters
#updateConfig
✓ calls the appropriate endpoint with the correct parameters
#updateQuery
✓ calls the appropriate endpoint with the correct parameters
#updateUser
✓ calls the appropriate endpoint with the correct parameters
CoreLayout - layouts
✓ renders the FlashMessage component when notifications are present (76ms)
AppSettingsPage - component
✓ renders
✓ renders a warning if SMTP has not been configured (135ms)
✓ dismisses the smtp warning when "DISMISS" is clicked (162ms)
✓ does not render a warning if SMTP has been configured (108ms)
UserManagementPage - component
✓ goes to the app settings page for the user to resolve their smtp settings (100ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 29): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 30): [object Object]
✓ gets users on mount (79ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 31): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 32): [object Object]
✓ gets invites on mount (81ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 33): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 34): [object Object]
rendering
✓ does not render if invites are loading
✓ does not render if users are loading
✓ renders user blocks for users and invites (80ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 35): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 36): [object Object]
✓ displays a count of the number of users & invites (82ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 37): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 38): [object Object]
✓ displays a disabled "Add User" button if email is not configured (185ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 39): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 40): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 41): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 42): [object Object]
✓ displays a SmtpWarning if email is not configured (184ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 43): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 44): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 45): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 46): [object Object]
updating a user
✓ updates the current user with only the updated attributes
✓ updates a different user with only the updated attributes
ConfigOptionsPage - component
✓ resets config option defaults (136ms)
rendering
✓ does not render when loading
✓ renders when not loading the config
✓ renders reset and save buttons
removing a config option
✓ sets the option value to null in state
adding a config option
✓ adds a blank option to state (90ms)
✓ only allows one blank config option (66ms)
updating a config option
✓ updates the config option in state
ConfigOptionsPage - helpers
#configOptionDropdownOptions
✓ returns the available dropdown options
#configErrorsFor
✓ validates presence of the config option name
✓ validates uniqueness of config option names
✓ returns an empty object when the options are valid
#formatOptionsForServer
✓ sets boolean type options correctly
✓ sets int type options correctly
✓ sets string type options correctly
#updatedConfigOptions
✓ sets the old options value to null when changing the option name
✓ updates the option value when the value changes
ConfirmInvitePage - component
✓ renders
✓ renders a ConfirmInviteForm
ForgotPasswordPage - component
✓ renders the ForgotPasswordForm when there is no email prop
✓ renders the email sent text when the email prop is present
ManageHostsPage - helpers
#filterHosts
✓ filters the all hosts label
✓ filters the platform label
✓ filters the status label
✓ filters the custom label
ManageHostsPage - component
side panels
✓ renders a HostSidePanel when not adding a new label
Warning: Failed prop type: The prop `loadingHosts` is marked as required in `ManageHostsPage`, but its value is `undefined`.
in ManageHostsPage (created by Connect(ManageHostsPage))
in Connect(ManageHostsPage)
in Provider (created by Unknown)
in Unknown
Warning: Failed prop type: The prop `loadingLabels` is marked as required in `ManageHostsPage`, but its value is `undefined`.
in ManageHostsPage (created by Connect(ManageHostsPage))
in Connect(ManageHostsPage)
in Provider (created by Unknown)
in Unknown
✓ renders a QuerySidePanel when adding a new label (128ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 47): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 48): [object Object]
header
✓ displays "1 Host Total" when there is 1 host
✓ displays "#{count} Hosts Total" when there are more than 1 host
host rendering
✓ does not render if hosts are loading
✓ does not render if labels are loading
✓ render LonelyHost if no hosts available
✓ renders message if no hosts available and not on All Hosts
✓ renders hosts as HostDetails by default
✓ renders hosts as HostsTable when the display is "List"
✓ toggles between displays (90ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 49): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 50): [object Object]
✓ filters hosts (63ms)
Adding a new label
✓ renders a QueryForm component (110ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 51): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 52): [object Object]
✓ displays "New Label Query" as the query form header (129ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 53): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 54): [object Object]
Active label
✓ Displays the all hosts label as the active label by default (58ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 55): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 56): [object Object]
✓ Displays the windows label as the active label (38ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 57): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 58): [object Object]
Delete a label
✓ Deleted label after confirmation modal (68ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 59): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 60): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 61): [object Object]
Delete a host
✓ Deleted host after confirmation modal (109ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 62): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 63): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 64): [object Object]
Add Host
✓ Open the Add Host modal from sidebar (48ms)
✓ Open the Add Host modal from Lonely Host (48ms)
LoginPage - component
when the user is not logged in
✓ renders the LoginForm
when the users session is not recognized
✓ renders the LoginForm base errors
when the user is logged in
✓ redirects to the home page
AllPacksPage - component
✓ filters the packs list (73ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 65): [object Object]
Warning: Failed prop type: The prop `loadingPacks` is marked as required in `AllPacksPage`, but its value is `undefined`.
in AllPacksPage
✓ updates checkedPackIDs in state when the select all packs Checkbox is toggled (52ms)
✓ updates checkedPackIDs in state when a pack row Checkbox is toggled (54ms)
rendering
✓ does not render when packs are loading
✓ renders a PacksList component (39ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 66): [object Object]
✓ renders the PackInfoSidePanel by default
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 67): [object Object]
bulk actions
✓ displays the bulk action buttons when a pack is checked (55ms)
✓ dispatches the pack update function when disable is clicked (57ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 68): [object Object]
✓ dispatches the pack update function when enable is clicked (64ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 69): [object Object]
✓ loads a modal when delete is clicked (72ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 70): [object Object]
✓ dispatches the pack destroy action when the modal is confirmed (74ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 71): [object Object]
✓ does not dispatch the pack destroy action when the modal is canceled (78ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 72): [object Object]
selecting a pack
✓ updates the URL when a pack is selected (67ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 73): [object Object]
✓ sets the selectedPack prop (38ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 74): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 75): [object Object]
EditPackPage - component
rendering
✓ does not render when packs are loading
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 76): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 77): [object Object]
✓ does not render when scheduled queries are loading
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 78): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 79): [object Object]
✓ does not render when there is no pack
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 80): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 81): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 82): [object Object]
✓ renders
✓ renders a EditPackFormWrapper component
✓ renders a ScheduleQuerySidePanel component
updating a pack
✓ only sends the updated attributes to the server (69ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 83): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
PackComposerPage - component
✓ renders (57ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 84): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
✓ renders a PackForm component (88ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 85): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
✓ renders a PackInfoSidePanel component (58ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 86): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
ManageQueriesPage - component
✓ filters the queries list (47ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 87): [object Object]
Warning: Failed prop type: The prop `loadingQueries` is marked as required in `ManageQueriesPage`, but its value is `undefined`.
in ManageQueriesPage
✓ updates checkedQueryIDs in state when the check all queries Checkbox is toggled (45ms)
✓ updates checkedQueryIDs in state when a query row Checkbox is toggled (46ms)
✓ goes to the edit query page when the Edit/Run Query button is the side panel is clicked (47ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 88): [object Object]
rendering
✓ does not render if queries are loading
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 89): [object Object]
✓ renders a QueriesList component (58ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 90): [object Object]
✓ renders the QueryDetailsSidePanel when a query is selected (46ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 91): [object Object]
✓ resets checkedQueryIDs after successfully deleting checked queries (56ms)
✓ does not reset checkedQueryIDs if deleting a checked query is unsuccessful (59ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 92): undefined
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 94): undefined
bulk delete action
✓ displays the delete action button when a query is checked (43ms)
✓ calls the API to delete once the Modal has been accepted (72ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 95): [object Object]
✓ does not call the API if the Modal is not accepted (98ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 96): [object Object]
selecting a query
✓ updates the URL when a query is selected
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 97): [object Object]
✓ sets the selectedQuery prop (44ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 98): [object Object]
QueryPage - component
✓ sets selectedTargets based on host_ids (284ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 99): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 100): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 101): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 102): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
✓ sets targetError in state when the query is run and there are no selected targets (194ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 103): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
Warning: Failed prop type: The prop `loadingQueries` is marked as required in `QueryPage`, but its value is `undefined`.
in QueryPage (created by Connect(QueryPage))
in Connect(QueryPage)
in Provider (created by Unknown)
in Unknown
✓ calls the onUpdateQuery prop when the query is updated (277ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 104): [object Object]
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 105): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: connect ECONNREFUSED 127.0.0.1:8080
rendering
✓ does not render when queries are loading
✓ renders the QueryForm component (111ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 106): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: Nock: No match for request POST http://localhost:8080/api/v1/kolide/targets {"selected":{"hosts":[],"labels":[]}}
✓ renders the QuerySidePanel component (120ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 107): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: Nock: No match for request POST http://localhost:8080/api/v1/kolide/targets {"selected":{"hosts":[],"labels":[]}}
#componentWillReceiveProps
✓ resets selected targets and removed the campaign when the hostname changes (172ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 108): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: Nock: No match for request POST http://localhost:8080/api/v1/kolide/targets {"selected":{"hosts":[1],"labels":[]}}
export as csv
✓ exports the campaign query results in csv format (145ms)
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 109): FetchError: request to http://localhost:8080/api/v1/kolide/targets failed, reason: Nock: No match for request POST http://localhost:8080/api/v1/kolide/targets {"selected":{"hosts":[],"labels":[]}}
Breadcrumbs - component
✓ renders 3 Button components
✓ renders page 1 Button as active when the page prop is 1
✓ calls the onClick prop with the page # when clicked
RegistrationPage - component
✓ redirects to the login page when a user is logged in
✓ displays the Kolide background triangles
✓ does not render the RegistrationForm if the user is loading
✓ renders the RegistrationForm when there is no user
✓ sets the page # to 1
✓ displays the setup breadcrumbs (55ms)
#onSetPage
✓ sets state to the page number (43ms)
ResetPasswordPage - component
✓ renders a ResetPasswordForm
✓ Redirects to the login page when there is no token or user
UserSettingsPage - component
✓ renders a UserSettingsForm component
✓ renders a UserSettingsForm component
✓ updates a user with only the updated attributes
redirect - middleware
✓ redirect to /500 when a 500 error message is dispatched
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 110): undefined
App - actions
getConfig action
✓ calls the api config endpoint
✓ dispatches CONFIG_START & CONFIG_SUCCESS actions
updateConfig action
✓ calls the api update config endpoint
✓ dispatches CONFIG_START & CONFIG_SUCCESS actions
redux app node - helpers
#frontendFormattedConfig
✓ returns a flattened config object
App - reducer
✓ sets the initial state
showBackgroundImage action
✓ shows the background image
hideBackgroundImage action
✓ hides the background image
loadConfig action
✓ sets the state to loading
configSuccess action
✓ sets the config in state
configFailure action
✓ sets the error in state
Auth - actions
dispatching the perform required password reset action
successful request
✓ calls the resetFunc
✓ dispatches the correct actions
unsuccessful request
✓ calls the resetFunc
✓ dispatches the correct actions
#updateUser
✓ calls the user update action
Auth - reducer
✓ sets the initial state
✓ changes loading to true for the userLogin action
loginUser action
✓ calls the api login endpoint
✓ returns the authenticated user
✓ sets the users auth token in local storage
✓ sets the api client bearerToken
✓ dispatches LOGIN_REQUEST and LOGIN_SUCCESS actions
logoutUser action
✓ calls the api logout endpoint
✓ removes the users auth token from local storage
✓ clears the api client bearerToken
✓ dispatches LOGOUT_REQUEST and LOGOUT_SUCCESS actions
perform required password reset
✓ updates state when request is dispatched
✓ updates state when request is successful
✓ updates state when request fails
ForgotPasswordPage - reducer
initial state
✓ sets the initial state
clearForgotPasswordErrors
✓ resets the errors key to an empty object
forgotPasswordRequestAction
✓ changes the loading state to true
forgotPasswordSuccessAction
✓ changes the loading state to false and emailSent to true
forgotPasswordErrorAction
✓ changes the loading state to false and sets the error state
forgotPasswordAction
✓ dispatches the appropriate actions when successful
✓ dispatches the appropriate actions when unsuccessful
ManageHostsPage - reducer
✓ sets the initial state
#setDisplay
✓ sets the display in state
#getStatusLabelCounts
✓ sets the loading boolean
✓ dispatches the correct actions when successful
✓ dispatches the correct actions when unsuccessful
✓ adds the label counts to state when successful
✓ adds errors to state when unsuccessful
#silentGetStatusLabelCounts
✓ dispatches the correct actions when successful
✓ dispatches the correct actions when unsuccessful
QueryPages - reducer
✓ sets the initial state
selectOsqueryTable action
✓ sets the selectedOsqueryTable attribute
setQueryText action
✓ sets the queryText attribute
setSelectedTargets action
✓ sets the selectedTarges attribute
setSelectedTargetsQuery action
✓ sets the selectedTarges attribute
ResetPasswordPage - reducer
initial state
✓ sets the initial state
clearResetPasswordErrors
✓ changes the loading state to true
resetPasswordRequest
✓ changes the loading state to true
resetPasswordSuccess
✓ changes the loading state to false and errors to null
resetPasswordError
✓ changes the loading state to false and sets the error state
resetPassword
✓ dispatches the appropriate actions when successful
✓ dispatches the appropriate actions when unsuccessful
reduxConfig - helpers
#entitiesExceptID
✓ returns an empty object if all ids are deleted
✓ removes the object with the key of the specified id
#formatErrorResponse
✓ converts the error response to an object for redux state
reduxConfig
dispatching the clear errors action
✓ sets the errors to an empty object
dispatching the create action
successful create call
✓ calls the createFunc
✓ dispatches the correct actions
✓ adds the returned user to state
unsuccessful create call
✓ calls the createFunc
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 116): [object Object]
✓ dispatches the correct actions
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 118): [object Object]
✓ adds the returned errors to state
unauthenticated error
✓ dispatches the LOGOUT_SUCCESS action
dispatching the update action
successful update call
✓ calls the updateFunc
✓ dispatches the correct actions
✓ adds the returned user to state
unsuccessful update call
unauthenticated error
✓ dispatches the LOGOUT_SUCCESS action
unprocessable entitiy
✓ calls the updateFunc
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 122): [object Object]
✓ dispatches the correct actions
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 124): [object Object]
✓ adds the returned errors to state
dispatching the destroy action
successful destroy call
✓ calls the destroyFunc
✓ dispatches the correct actions
✓ removes the returned invite from state
unsuccessful destroy call
✓ calls the createFunc
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 126): [object Object]
✓ dispatches the correct actions
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 128): [object Object]
✓ adds the returned errors to state
dispatching the load action
successful load call
✓ calls the loadFunc
✓ dispatches the correct actions
✓ adds the returned user to state
unsuccessful load call
✓ calls the loadFunc
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 130): [object Object]
✓ dispatches the correct actions
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 132): [object Object]
✓ adds the returned errors to state
dispatching the loadAll action
successful load call
✓ calls the loadAllFunc
✓ dispatches the correct actions
✓ adds the returned user to state
unsuccessful loadAll call
✓ calls the loadAllFunc
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 134): [object Object]
✓ dispatches the correct actions
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 136): [object Object]
✓ adds the returned errors to state
dispatching the silentLoadAll action
successful loadAll call
✓ calls the loadAllFunc
✓ dispatches the correct actions
unsuccessful loadAll call
✓ calls the loadAllFunc
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 138): [object Object]
✓ dispatches the correct actions
(node:446) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 140): [object Object]
campaign entity - helpers
#destroyFunc
✓ returns the campaign
#update
✓ appends query results to the campaign when the campaign has query results
✓ adds query results to the campaign when the campaign does not have query results
✓ updates totals on the campaign when the campaign has totals
✓ adds totals to the campaign when the campaign does not have totals
Labels - actions
#silentLoadAll
successful request
✓ does not call the LOAD_REQUEST action
unsuccessful request
✓ does not call the LOAD_REQUEST action
targets - helpers
#appendTargetTypeToTargets
✓ adds the target_type attribute
Users - actions
enableUser
successful request
✓ calls the API
✓ dispatches the correct actions
unsuccessful request
✓ calls the API
✓ dispatches the correct actions
changePassword
successful request
✓ calls the API
✓ dispatches the correct actions
unsuccessful request
✓ calls the API
✓ dispatches the correct actions
updateAdmin
successful request
✓ calls the API
✓ dispatches the correct actions
unsuccessful request
✓ calls the API
✓ dispatches the correct actions
dispatching the require password reset action
successful request
✓ calls the resetFunc
✓ dispatches the correct actions
unsuccessful request
✓ calls the resetFunc
✓ dispatches the correct actions
Users - reducer
require password reset
✓ updates state when request is dispatched
✓ updates state when request is successful
✓ updates state when request fails
Notifications - reducer
✓ Updates state with notification info when RENDER_FLASH is dispatched
✓ Updates state to hide notifications when HIDE_FLASH is dispatched
✓ Updates state to hide notifications during location change
redirectLocation - reducer
✓ sets the initial state
✓ sets the redirect location in state
✓ clears the direction location in state
convertToCSV - utility
✓ converts an array of objects to CSV format
debounce - utility
✓ prevents double-clicks from executing a function multiple times
deepDifference - utility
✓ returns the difference for 2 un-nested objects
✓ returns the difference for 2 nested objects
✓ returns the difference for 1 nested object and 1 non-nested object
✓ returns an empty array when comparing an empty array against a non-empty array
filterArrayByHash
✓ filters the array to all objects that include the filter strings
formatApiErrors
✓ formats errors for the Form HOC
replaceArrayItem - utility
✓ substitutes the item in the array with its replacement
531 passing (13s)
11 failing
1) ConfigOptionForm - form renders form fields for the config option name and value:
TypeError: Argument is NaN
at Object.conversions.unrestricted double (node_modules/webidl-conversions/lib/index.js:110:15)
at HTMLDivElement.set [as scrollTop] (node_modules/jsdom/lib/jsdom/living/generated/Element.js:496:43)
at componentDidUpdate (node_modules/react-select/lib/Select.js:262:23)
at measureLifeCyclePerf (node_modules/react-dom/lib/ReactCompositeComponent.js:75:12)
at node_modules/react-dom/lib/ReactCompositeComponent.js:729:11
at CallbackQueue.notifyAll (node_modules/react-dom/lib/CallbackQueue.js:76:22)
at ReactReconcileTransaction.close (node_modules/react-dom/lib/ReactReconcileTransaction.js:80:26)
at ReactReconcileTransaction.closeAll (node_modules/react-dom/lib/Transaction.js:206:25)
at ReactReconcileTransaction.perform (node_modules/react-dom/lib/Transaction.js:153:16)
at ReactUpdatesFlushTransaction.perform (node_modules/react-dom/lib/Transaction.js:140:20)
at ReactUpdatesFlushTransaction.perform (node_modules/react-dom/lib/ReactUpdates.js:89:32)
at Object.flushBatchedUpdates (node_modules/react-dom/lib/ReactUpdates.js:172:19)
at ReactDefaultBatchingStrategyTransaction.closeAll (node_modules/react-dom/lib/Transaction.js:206:25)
at ReactDefaultBatchingStrategyTransaction.perform (node_modules/react-dom/lib/Transaction.js:153:16)
at Object.batchedUpdates (node_modules/react-dom/lib/ReactDefaultBatchingStrategy.js:62:26)
at Object.batchedUpdates (node_modules/react-dom/lib/ReactUpdates.js:97:27)
at node_modules/react-dom/lib/ReactTestUtils.js:338:18
at ReactWrapper.<anonymous> (node_modules/enzyme/build/ReactWrapper.js:776:11)
at ReactWrapper.single (node_modules/enzyme/build/ReactWrapper.js:1421:25)
at ReactWrapper.simulate (node_modules/enzyme/build/ReactWrapper.js:769:14)
at fillInFormInput (frontend/test/helpers.jsx:12:25)
at itBehavesLikeAFormDropdownElement (frontend/test/helpers.jsx:41:3)
at Context.<anonymous> (frontend/components/forms/ConfigOptionsForm/ConfigOptionForm/ConfigOptionForm.tests.jsx:25:5)
2) ConfigOptionForm - form calls the onChangeFunc prop when the form updates:
TypeError: Argument is NaN
at Object.conversions.unrestricted double (node_modules/webidl-conversions/lib/index.js:110:15)
at HTMLDivElement.set [as scrollTop] (node_modules/jsdom/lib/jsdom/living/generated/Element.js:496:43)
at componentDidUpdate (node_modules/react-select/lib/Select.js:262:23)
at measureLifeCyclePerf (node_modules/react-dom/lib/ReactCompositeComponent.js:75:12)
at node_modules/react-dom/lib/ReactCompositeComponent.js:729:11
at CallbackQueue.notifyAll (node_modules/react-dom/lib/CallbackQueue.js:76:22)
at ReactReconcileTransaction.close (node_modules/react-dom/lib/ReactReconcileTransaction.js:80:26)
at ReactReconcileTransaction.closeAll (node_modules/react-dom/lib/Transaction.js:206:25)
at ReactReconcileTransaction.perform (node_modules/react-dom/lib/Transaction.js:153:16)
at ReactUpdatesFlushTransaction.perform (node_modules/react-dom/lib/Transaction.js:140:20)
at ReactUpdatesFlushTransaction.perform (node_modules/react-dom/lib/ReactUpdates.js:89:32)
at Object.flushBatchedUpdates (node_modules/react-dom/lib/ReactUpdates.js:172:19)
at ReactDefaultBatchingStrategyTransaction.closeAll (node_modules/react-dom/lib/Transaction.js:206:25)
at ReactDefaultBatchingStrategyTransaction.perform (node_modules/react-dom/lib/Transaction.js:153:16)
at Object.batchedUpdates (node_modules/react-dom/lib/ReactDefaultBatchingStrategy.js:62:26)
at Object.batchedUpdates (node_modules/react-dom/lib/ReactUpdates.js:97:27)
at node_modules/react-dom/lib/ReactTestUtils.js:338:18
at ReactWrapper.<anonymous> (node_modules/enzyme/build/ReactWrapper.js:776:11)
at ReactWrapper.single (node_modules/enzyme/build/ReactWrapper.js:1421:25)
at ReactWrapper.simulate (node_modules/enzyme/build/ReactWrapper.js:769:14)
at fillInFormInput (frontend/test/helpers.jsx:12:25)
at itBehavesLikeAFormDropdownElement (frontend/test/helpers.jsx:41:3)
at Context.<anonymous> (frontend/components/forms/ConfigOptionsForm/ConfigOptionForm/ConfigOptionForm.tests.jsx:42:5)
3) ConfigurePackQueryForm - component form fields updates form state:
TypeError: Argument is NaN
at Object.conversions.unrestricted double (node_modules/webidl-conversions/lib/index.js:110:15)
at HTMLDivElement.set [as scrollTop] (node_modules/jsdom/lib/jsdom/living/generated/Element.js:496:43)
at componentDidUpdate (node_modules/react-select/lib/Select.js:262:23)
at measureLifeCyclePerf (node_modules/react-dom/lib/ReactCompositeComponent.js:75:12)
at node_modules/react-dom/lib/ReactCompositeComponent.js:729:11
at CallbackQueue.notifyAll (node_modules/react-dom/lib/CallbackQueue.js:76:22)
at ReactReconcileTransaction.close (node_modules/react-dom/lib/ReactReconcileTransaction.js:80:26)
at ReactReconcileTransaction.closeAll (node_modules/react-dom/lib/Transaction.js:206:25)
at ReactReconcileTransaction.perform (node_modules/react-dom/lib/Transaction.js:153:16)
at ReactUpdatesFlushTransaction.perform (node_modules/react-dom/lib/Transaction.js:140:20)
at ReactUpdatesFlushTransaction.perform (node_modules/react-dom/lib/ReactUpdates.js:89:32)
at Object.flushBatchedUpdates (node_modules/react-dom/lib/ReactUpdates.js:172:19)
at ReactDefaultBatchingStrategyTransaction.closeAll (node_modules/react-dom/lib/Transaction.js:206:25)
at ReactDefaultBatchingStrategyTransaction.perform (node_modules/react-dom/lib/Transaction.js:153:16)
at Object.batchedUpdates (node_modules/react-dom/lib/ReactDefaultBatchingStrategy.js:62:26)
at Object.batchedUpdates (node_modules/react-dom/lib/ReactUpdates.js:97:27)
at node_modules/react-dom/lib/ReactTestUtils.js:338:18
at ReactWrapper.<anonymous> (node_modules/enzyme/build/ReactWrapper.js:776:11)
at ReactWrapper.single (node_modules/enzyme/build/ReactWrapper.js:1421:25)
at ReactWrapper.simulate (node_modules/enzyme/build/ReactWrapper.js:769:14)
at fillInFormInput (frontend/test/helpers.jsx:12:25)
at itBehavesLikeAFormDropdownElement (frontend/test/helpers.jsx:41:3)
at Context.<anonymous> (frontend/components/forms/ConfigurePackQueryForm/ConfigurePackQueryForm.tests.jsx:21:7)
4) ConfigurePackQueryForm - component submitting the form submits the form with the form data:
TypeError: Argument is NaN
at Object.conversions.unrestricted double (node_modules/webidl-conversions/lib/index.js:110:15)
at HTMLDivElement.set [as scrollTop] (node_modules/jsdom/lib/jsdom/living/generated/Element.js:496:43)
at componentDidUpdate (node_modules/react-select/lib/Select.js:262:23)
at measureLifeCyclePerf (node_modules/react-dom/lib/ReactCompositeComponent.js:75:12)
at node_modules/react-dom/lib/ReactCompositeComponent.js:729:11
at CallbackQueue.notifyAll (node_modules/react-dom/lib/CallbackQueue.js:76:22)
at ReactReconcileTransaction.close (node_modules/react-dom/lib/ReactReconcileTransaction.js:80:26)
at ReactReconcileTransaction.closeAll (node_modules/react-dom/lib/Transaction.js:206:25)
at ReactReconcileTransaction.perform (node_modules/react-dom/lib/Transaction.js:153:16)
at ReactUpdatesFlushTransaction.perform (node_modules/react-dom/lib/Transaction.js:140:20)
at ReactUpdatesFlushTransaction.perform (node_modules/react-dom/lib/ReactUpdates.js:89:32)
at Object.flushBatchedUpdates (node_modules/react-dom/lib/ReactUpdates.js:172:19)
at ReactDefaultBatchingStrategyTransaction.closeAll (node_modules/react-dom/lib/Transaction.js:206:25)
at ReactDefaultBatchingStrategyTransaction.perform (node_modules/react-dom/lib/Transaction.js:153:16)
at Object.batchedUpdates (node_modules/react-dom/lib/ReactDefaultBatchingStrategy.js:62:26)
at Object.batchedUpdates (node_modules/react-dom/lib/ReactUpdates.js:97:27)
at node_modules/react-dom/lib/ReactTestUtils.js:338:18
at ReactWrapper.<anonymous> (node_modules/enzyme/build/ReactWrapper.js:776:11)
at ReactWrapper.single (node_modules/enzyme/build/ReactWrapper.js:1421:25)
at ReactWrapper.simulate (node_modules/enzyme/build/ReactWrapper.js:769:14)
at fillInFormInput (frontend/test/helpers.jsx:12:25)
at itBehavesLikeAFormDropdownElement (frontend/test/helpers.jsx:41:3)
at Context.<anonymous> (frontend/components/forms/ConfigurePackQueryForm/ConfigurePackQueryForm.tests.jsx:39:7)
5) Dropdown - component selects a value from dropdown:
TypeError: Argument is NaN
at Object.conversions.unrestricted double (node_modules/webidl-conversions/lib/index.js:110:15)
at HTMLDivElement.set [as scrollTop] (node_modules/jsdom/lib/jsdom/living/generated/Element.js:496:43)
at componentDidUpdate (node_modules/react-select/lib/Select.js:262:23)
at measureLifeCyclePerf (node_modules/react-dom/lib/ReactCompositeComponent.js:75:12)
at node_modules/react-dom/lib/ReactCompositeComponent.js:729:11
at CallbackQueue.notifyAll (node_modules/react-dom/lib/CallbackQueue.js:76:22)
at ReactReconcileTransaction.close (node_modules/react-dom/lib/ReactReconcileTransaction.js:80:26)
at ReactReconcileTransaction.closeAll (node_modules/react-dom/lib/Transaction.js:206:25)
at ReactReconcileTransaction.perform (node_modules/react-dom/lib/Transaction.js:153:16)
at ReactUpdatesFlushTransaction.perform (node_modules/react-dom/lib/Transaction.js:140:20)
at ReactUpdatesFlushTransaction.perform (node_modules/react-dom/lib/ReactUpdates.js:89:32)
at Object.flushBatchedUpdates (node_modules/react-dom/lib/ReactUpdates.js:172:19)
at ReactDefaultBatchingStrategyTransaction.closeAll (node_modules/react-dom/lib/Transaction.js:206:25)
at ReactDefaultBatchingStrategyTransaction.perform (node_modules/react-dom/lib/Transaction.js:153:16)
at Object.batchedUpdates (node_modules/react-dom/lib/ReactDefaultBatchingStrategy.js:62:26)
at Object.batchedUpdates (node_modules/react-dom/lib/ReactUpdates.js:97:27)
at node_modules/react-dom/lib/ReactTestUtils.js:338:18
at ReactWrapper.<anonymous> (node_modules/enzyme/build/ReactWrapper.js:776:11)
at ReactWrapper.single (node_modules/enzyme/build/ReactWrapper.js:1421:25)
at ReactWrapper.simulate (node_modules/enzyme/build/ReactWrapper.js:769:14)
at fillInFormInput (frontend/test/helpers.jsx:12:25)
at Context.<anonymous> (frontend/components/forms/fields/Dropdown/Dropdown.tests.jsx:33:5)
6) UserBlock - component calls the onToggleEditUser prop with the user when Modify Details is selected:
TypeError: Argument is NaN
at Object.conversions.unrestricted double (node_modules/webidl-conversions/lib/index.js:110:15)
at HTMLDivElement.set [as scrollTop] (node_modules/jsdom/lib/jsdom/living/generated/Element.js:496:43)
at componentDidUpdate (node_modules/react-select/lib/Select.js:262:23)
at measureLifeCyclePerf (node_modules/react-dom/lib/ReactCompositeComponent.js:75:12)
at node_modules/react-dom/lib/ReactCompositeComponent.js:729:11
at CallbackQueue.notifyAll (node_modules/react-dom/lib/CallbackQueue.js:76:22)
at ReactReconcileTransaction.close (node_modules/react-dom/lib/ReactReconcileTransaction.js:80:26)
at ReactReconcileTransaction.closeAll (node_modules/react-dom/lib/Transaction.js:206:25)
at ReactReconcileTransaction.perform (node_modules/react-dom/lib/Transaction.js:153:16)
at ReactUpdatesFlushTransaction.perform (node_modules/react-dom/lib/Transaction.js:140:20)
at ReactUpdatesFlushTransaction.perform (node_modules/react-dom/lib/ReactUpdates.js:89:32)
at Object.flushBatchedUpdates (node_modules/react-dom/lib/ReactUpdates.js:172:19)
at ReactDefaultBatchingStrategyTransaction.closeAll (node_modules/react-dom/lib/Transaction.js:206:25)
at ReactDefaultBatchingStrategyTransaction.perform (node_modules/react-dom/lib/Transaction.js:153:16)
at Object.batchedUpdates (node_modules/react-dom/lib/ReactDefaultBatchingStrategy.js:62:26)
at Object.batchedUpdates (node_modules/react-dom/lib/ReactUpdates.js:97:27)
at node_modules/react-dom/lib/ReactTestUtils.js:338:18
at ReactWrapper.<anonymous> (node_modules/enzyme/build/ReactWrapper.js:776:11)
at ReactWrapper.single (node_modules/enzyme/build/ReactWrapper.js:1421:25)
at ReactWrapper.simulate (node_modules/enzyme/build/ReactWrapper.js:769:14)
at fillInFormInput (frontend/test/helpers.jsx:12:25)
at Context.<anonymous> (frontend/components/UserBlock/UserBlock.tests.jsx:45:5)
7) UserBlock - component calls the onSelect prop with the user when Promote User is selected:
TypeError: Argument is NaN
at Object.conversions.unrestricted double (node_modules/webidl-conversions/lib/index.js:110:15)
at HTMLDivElement.set [as scrollTop] (node_modules/jsdom/lib/jsdom/living/generated/Element.js:496:43)
at componentDidUpdate (node_modules/react-select/lib/Select.js:262:23)
at measureLifeCyclePerf (node_modules/react-dom/lib/ReactCompositeComponent.js:75:12)
at node_modules/react-dom/lib/ReactCompositeComponent.js:729:11
at CallbackQueue.notifyAll (node_modules/react-dom/lib/CallbackQueue.js:76:22)
at ReactReconcileTransaction.close (node_modules/react-dom/lib/ReactReconcileTransaction.js:80:26)
at ReactReconcileTransaction.closeAll (node_modules/react-dom/lib/Transaction.js:206:25)
at ReactReconcileTransaction.perform (node_modules/react-dom/lib/Transaction.js:153:16)
at ReactUpdatesFlushTransaction.perform (node_modules/react-dom/lib/Transaction.js:140:20)
at ReactUpdatesFlushTransaction.perform (node_modules/react-dom/lib/ReactUpdates.js:89:32)
at Object.flushBatchedUpdates (node_modules/react-dom/lib/ReactUpdates.js:172:19)
at ReactDefaultBatchingStrategyTransaction.closeAll (node_modules/react-dom/lib/Transaction.js:206:25)
at ReactDefaultBatchingStrategyTransaction.perform (node_modules/react-dom/lib/Transaction.js:153:16)
at Object.batchedUpdates (node_modules/react-dom/lib/ReactDefaultBatchingStrategy.js:62:26)
at Object.batchedUpdates (node_modules/react-dom/lib/ReactUpdates.js:97:27)
at node_modules/react-dom/lib/ReactTestUtils.js:338:18
at ReactWrapper.<anonymous> (node_modules/enzyme/build/ReactWrapper.js:776:11)
at ReactWrapper.single (node_modules/enzyme/build/ReactWrapper.js:1421:25)
at ReactWrapper.simulate (node_modules/enzyme/build/ReactWrapper.js:769:14)
at fillInFormInput (frontend/test/helpers.jsx:12:25)
at Context.<anonymous> (frontend/components/UserBlock/UserBlock.tests.jsx:59:5)
8) UserBlock - component calls the onSelect prop with the user when Demote User is selected:
TypeError: Argument is NaN
at Object.conversions.unrestricted double (node_modules/webidl-conversions/lib/index.js:110:15)
at HTMLDivElement.set [as scrollTop] (node_modules/jsdom/lib/jsdom/living/generated/Element.js:496:43)
at componentDidUpdate (node_modules/react-select/lib/Select.js:262:23)
at measureLifeCyclePerf (node_modules/react-dom/lib/ReactCompositeComponent.js:75:12)
at node_modules/react-dom/lib/ReactCompositeComponent.js:729:11
at CallbackQueue.notifyAll (node_modules/react-dom/lib/CallbackQueue.js:76:22)
at ReactReconcileTransaction.close (node_modules/react-dom/lib/ReactReconcileTransaction.js:80:26)
at ReactReconcileTransaction.closeAll (node_modules/react-dom/lib/Transaction.js:206:25)
at ReactReconcileTransaction.perform (node_modules/react-dom/lib/Transaction.js:153:16)
at ReactUpdatesFlushTransaction.perform (node_modules/react-dom/lib/Transaction.js:140:20)
at ReactUpdatesFlushTransaction.perform (node_modules/react-dom/lib/ReactUpdates.js:89:32)
at Object.flushBatchedUpdates (node_modules/react-dom/lib/ReactUpdates.js:172:19)
at ReactDefaultBatchingStrategyTransaction.closeAll (node_modules/react-dom/lib/Transaction.js:206:25)
at ReactDefaultBatchingStrategyTransaction.perform (node_modules/react-dom/lib/Transaction.js:153:16)
at Object.batchedUpdates (node_modules/react-dom/lib/ReactDefaultBatchingStrategy.js:62:26)
at Object.batchedUpdates (node_modules/react-dom/lib/ReactUpdates.js:97:27)
at node_modules/react-dom/lib/ReactTestUtils.js:338:18
at ReactWrapper.<anonymous> (node_modules/enzyme/build/ReactWrapper.js:776:11)
at ReactWrapper.single (node_modules/enzyme/build/ReactWrapper.js:1421:25)
at ReactWrapper.simulate (node_modules/enzyme/build/ReactWrapper.js:769:14)
at fillInFormInput (frontend/test/helpers.jsx:12:25)
at Context.<anonymous> (frontend/components/UserBlock/UserBlock.tests.jsx:74:5)
9) UserBlock - component calls the onSelect prop with the user when Disable Account is selected:
TypeError: Argument is NaN
at Object.conversions.unrestricted double (node_modules/webidl-conversions/lib/index.js:110:15)
at HTMLDivElement.set [as scrollTop] (node_modules/jsdom/lib/jsdom/living/generated/Element.js:496:43)
at componentDidUpdate (node_modules/react-select/lib/Select.js:262:23)
at measureLifeCyclePerf (node_modules/react-dom/lib/ReactCompositeComponent.js:75:12)
at node_modules/react-dom/lib/ReactCompositeComponent.js:729:11
at CallbackQueue.notifyAll (node_modules/react-dom/lib/CallbackQueue.js:76:22)
at ReactReconcileTransaction.close (node_modules/react-dom/lib/ReactReconcileTransaction.js:80:26)
at ReactReconcileTransaction.closeAll (node_modules/react-dom/lib/Transaction.js:206:25)
at ReactReconcileTransaction.perform (node_modules/react-dom/lib/Transaction.js:153:16)
at ReactUpdatesFlushTransaction.perform (node_modules/react-dom/lib/Transaction.js:140:20)
at ReactUpdatesFlushTransaction.perform (node_modules/react-dom/lib/ReactUpdates.js:89:32)
at Object.flushBatchedUpdates (node_modules/react-dom/lib/ReactUpdates.js:172:19)
at ReactDefaultBatchingStrategyTransaction.closeAll (node_modules/react-dom/lib/Transaction.js:206:25)
at ReactDefaultBatchingStrategyTransaction.perform (node_modules/react-dom/lib/Transaction.js:153:16)
at Object.batchedUpdates (node_modules/react-dom/lib/ReactDefaultBatchingStrategy.js:62:26)
at Object.batchedUpdates (node_modules/react-dom/lib/ReactUpdates.js:97:27)
at node_modules/react-dom/lib/ReactTestUtils.js:338:18
at ReactWrapper.<anonymous> (node_modules/enzyme/build/ReactWrapper.js:776:11)
at ReactWrapper.single (node_modules/enzyme/build/ReactWrapper.js:1421:25)
at ReactWrapper.simulate (node_modules/enzyme/build/ReactWrapper.js:769:14)
at fillInFormInput (frontend/test/helpers.jsx:12:25)
at Context.<anonymous> (frontend/components/UserBlock/UserBlock.tests.jsx:88:5)
10) UserBlock - component calls the onSelect prop with the user when Enable Account is selected:
TypeError: Argument is NaN
at Object.conversions.unrestricted double (node_modules/webidl-conversions/lib/index.js:110:15)
at HTMLDivElement.set [as scrollTop] (node_modules/jsdom/lib/jsdom/living/generated/Element.js:496:43)
at componentDidUpdate (node_modules/react-select/lib/Select.js:262:23)
at measureLifeCyclePerf (node_modules/react-dom/lib/ReactCompositeComponent.js:75:12)
at node_modules/react-dom/lib/ReactCompositeComponent.js:729:11
at CallbackQueue.notifyAll (node_modules/react-dom/lib/CallbackQueue.js:76:22)
at ReactReconcileTransaction.close (node_modules/react-dom/lib/ReactReconcileTransaction.js:80:26)
at ReactReconcileTransaction.closeAll (node_modules/react-dom/lib/Transaction.js:206:25)
at ReactReconcileTransaction.perform (node_modules/react-dom/lib/Transaction.js:153:16)
at ReactUpdatesFlushTransaction.perform (node_modules/react-dom/lib/Transaction.js:140:20)
at ReactUpdatesFlushTransaction.perform (node_modules/react-dom/lib/ReactUpdates.js:89:32)
at Object.flushBatchedUpdates (node_modules/react-dom/lib/ReactUpdates.js:172:19)
at ReactDefaultBatchingStrategyTransaction.closeAll (node_modules/react-dom/lib/Transaction.js:206:25)
at ReactDefaultBatchingStrategyTransaction.perform (node_modules/react-dom/lib/Transaction.js:153:16)
at Object.batchedUpdates (node_modules/react-dom/lib/ReactDefaultBatchingStrategy.js:62:26)
at Object.batchedUpdates (node_modules/react-dom/lib/ReactUpdates.js:97:27)
at node_modules/react-dom/lib/ReactTestUtils.js:338:18
at ReactWrapper.<anonymous> (node_modules/enzyme/build/ReactWrapper.js:776:11)
at ReactWrapper.single (node_modules/enzyme/build/ReactWrapper.js:1421:25)
at ReactWrapper.simulate (node_modules/enzyme/build/ReactWrapper.js:769:14)
at fillInFormInput (frontend/test/helpers.jsx:12:25)
at Context.<anonymous> (frontend/components/UserBlock/UserBlock.tests.jsx:103:5)
11) UserBlock - component calls the onSelect prop with the user when Require Password Reset is selected:
TypeError: Argument is NaN
at Object.conversions.unrestricted double (node_modules/webidl-conversions/lib/index.js:110:15)
at HTMLDivElement.set [as scrollTop] (node_modules/jsdom/lib/jsdom/living/generated/Element.js:496:43)
at componentDidUpdate (node_modules/react-select/lib/Select.js:262:23)
at measureLifeCyclePerf (node_modules/react-dom/lib/ReactCompositeComponent.js:75:12)
at node_modules/react-dom/lib/ReactCompositeComponent.js:729:11
at CallbackQueue.notifyAll (node_modules/react-dom/lib/CallbackQueue.js:76:22)
at ReactReconcileTransaction.close (node_modules/react-dom/lib/ReactReconcileTransaction.js:80:26)
at ReactReconcileTransaction.closeAll (node_modules/react-dom/lib/Transaction.js:206:25)
at ReactReconcileTransaction.perform (node_modules/react-dom/lib/Transaction.js:153:16)
at ReactUpdatesFlushTransaction.perform (node_modules/react-dom/lib/Transaction.js:140:20)
at ReactUpdatesFlushTransaction.perform (node_modules/react-dom/lib/ReactUpdates.js:89:32)
at Object.flushBatchedUpdates (node_modules/react-dom/lib/ReactUpdates.js:172:19)
at ReactDefaultBatchingStrategyTransaction.closeAll (node_modules/react-dom/lib/Transaction.js:206:25)
at ReactDefaultBatchingStrategyTransaction.perform (node_modules/react-dom/lib/Transaction.js:153:16)
at Object.batchedUpdates (node_modules/react-dom/lib/ReactDefaultBatchingStrategy.js:62:26)
at Object.batchedUpdates (node_modules/react-dom/lib/ReactUpdates.js:97:27)
at node_modules/react-dom/lib/ReactTestUtils.js:338:18
at ReactWrapper.<anonymous> (node_modules/enzyme/build/ReactWrapper.js:776:11)
at ReactWrapper.single (node_modules/enzyme/build/ReactWrapper.js:1421:25)
at ReactWrapper.simulate (node_modules/enzyme/build/ReactWrapper.js:769:14)
at fillInFormInput (frontend/test/helpers.jsx:12:25)
at Context.<anonymous> (frontend/components/UserBlock/UserBlock.tests.jsx:117:5)
make: *** [Makefile:118: test-js] Error 11
After clearing the build cache, the JS tests fail with the following output (See https://circleci.com/gh/kolide/kolide/3224):