bitovi$ npm test
  
  
> i2web@1.16.0 test /Users/Bitovi/Clients/Lowes/i2web2
> npm-run-all lint test:unit


> i2web@1.16.0 lint /Users/Bitovi/Clients/Lowes/i2web2
> eslint src test --ext .js --ext .component


> i2web@1.16.0 test:unit /Users/Bitovi/Clients/Lowes/i2web2
> testee src/test.html --reporter Spec


Mocha "src/test.html" on PhantomJS 2.1.1 / Mac OS X 0.0.0:

    i2web/components/accordion
      – needs tests
    i2web/components/accordion/panel
      – needs tests
    i2web/components/add-panel
      rendering
         shall be rendered on the page
    i2web/components/carousel
      rendering
         shall be rendered on the page
    i2web/components/iris-control-switch
      instantiation
        – without values
      rendering
         displays the default value of the state of the device
         updates checked when device state is updated
      interaction
         updates device state when clicked (120ms)
    i2web/components/device
      – needs tests
    i2web/components/device/iris-device-configuration-panel
       shall render on the page
    i2web/components/device/configurators/wifiScan
      rendering
         shall be rendered on the page
    i2web/components/device/detail-panel
       shall render on the page
       shall display correct device information
       shall display correct product information
    i2web/components/event-list
      rendering
         shall be rendered to the page with events
         shall render a heading of "Today" if the latest event occurred today
         shall render a heading of "Yesterday" if the latest event occured yesterday
         shall render a heading with the date of the latest event if the latest event occured more than a day ago
      interactions
         shall route to the history page when the "More" button is clicked (93ms)
    i2web/components/favorite
      rendering
         shall be rendered on the page
         shall have the default color
         shall have the default icon
      interactions
         shall, when clicked, change from default to active color (45ms)
         shall, when clicked, change from default to active icons (43ms)
         shall, when active and clicked again, change from active to default color (71ms)
         shall, when active and clicked again, change from active to default icon (70ms)
    i2web/components/footer
      rendering
         shall be rendered on the page
         renders with the current year in the footer
    i2web/components/form
      initialization
         shall mark required fields as not visited
         shall not have any form errors
      rendering
         shall be rendered on the page
         shall render three text inputs
         shall have no errors by default
      interactions
         shall mark a required field "visited" on blur (109ms)
         shall shall display an error if validation fails (101ms)
      validation rules
         validates presence
         validates length
         validates oneLetterOneNumber
         validates noSpaces
         validates exclusion
         validates equality
         aren     applied to non-required fields
        – validates select fields
    i2web/components/form/delete-account
      rendering
         shall be rendered on the page
      interaction
         shall, when something other than "DELETE" is entered into the input field, show not show next confirmation field (72ms)
         shall, when "delete" is entered into the input field, show the next confirmation field (73ms)
         shall, when "DELETE" is entered into the input field, show the next confirmation field (76ms)
         shall, when "Yes" is entered into the input field, account is deleted (74ms)
    i2web/components/header
      – needs tests
    i2web/components/hub/detail-panel
       shall render on the page
       shall display correct hub information
    i2web/components/hub/panel
       shall render on the page
    i2web/components/icon-grid
      rendering
         shall be rendered on the page
    i2web/components/infinite-scroll
      Source
         utilizes the regular template if no tombstone template was provided
         creates a tombstone with the tombstone class
         returns the same element when rendering when provided one
         returns the number of items you request when you fetch by default
    i2web/components/notifications
       Inits with events
       Inits without events, then events are added later
       Inits without events, then events are added later not all at the same time
       Renders messages with HTML
       Renders messages with no HTML
    i2web/components/pin-code
      rendering
         shall be rendered on the page
         renders each element with the correct digit
    i2web/components/rules/category-list
      rendering
         shall be rendered on the page
    i2web/components/rules/my-list
      rendering
         shall be rendered on the page
      functional
        desc-parser
          renderItem
            – resolved
            – unresolved
          resolveDevice
            – resolved
            – unresolved
    i2web/components/rules/edit-panel
      rendering
         shall be rendered on the page
    i2web/components/scene
      – iris-scenes-card needs tests
      – iris-scenes-icon needs tests
      – iris-scenes-list-panel needs tests
    i2web/components/scenes/action-device-selector
      rendering
         shall be rendered on the page
        – renders with no sceneDevices
        – renders with 1 sceneDevice
        – renders multiple sceneDevices
    i2web/components/scenes/device-configurator
      rendering
         shall be rendered on the page
        – renders a group
        – renders a list
        – renders a boolean
        – renders a range
        – renders a duration
        – renders a thermostat
    i2web/components/scenes/edit-panel
      rendering
         shall be rendered on the page
    i2web/components/schedule/calendar
      rendering
         shall be rendered on the page
    i2web/components/schedule/calendar/day
      rendering
         shall be rendered on the page
    i2web/components/schedule/calendar/time-scale
      rendering
         shall be rendered on the page
    i2web/components/side-panel
      rendering
         shall be rendered on the page with no content
         shall hide the panel container when there is no content
         shall hide the panel-backdrop when there is no content
      rendering a template argument
         shall accept a template as a content.template property value
         shall NOT hide the panel container when there IS content
         shall NOT hide the panel-backdrop when there IS content
      interactions
        – shall hide the side-panel when "" is inserted and clicked
    i2web/components/spinner
      rendering
         shall be rendered on the page
    i2web/components/subsystem/card
      – needs tests
    i2web/components/subsystem/favorites
      rendering
         shall be rendered on the page
        rendering all favorite devices
           shall render an iris-device-card for each favorite device on the place
           shall render a heading with total favorites count
    i2web/components/subsystem/status/lights-switches
      rendering
         shall render the number of "on" devices
         shall render the total number of devices
      updates
         it shall update the on devices when the subsystem changes
         it shall update the total devices when the subsystem changes
    i2web/components/thermostat
      rendering
         shall be rendered on the page
      interaction
        – shows five checkboxes
        – has the correct initial value checked
        – sets scheduleEnabled to true when you click "Use Schedule"
        – shows nothing when you click "OFF"
        – sets mode to AUTO and shows 2 spinners when you click "Auto"
        – sets mode to COOL and shows 1 spinner when you click "Cool"
        – sets mode to HEAT and shows 1 spinner when you click "Heat"
    i2web/components/wizard/iris-wizard
      rendering
         shall render 1 wizard on the page
         shall render 3 steps on the page
      interactions
         has one visible step and two hidden steps
         starts with one button that says "Begin"
         clicking the next button advances to step 2 (51ms)
         step 2 has a back button labeled "Prev" and a disabled next button labeled "Next"
         clicking the previous button goes back to step 1 (77ms)
         clicking "Next" while it's disabled does not go to step 3 (45ms)
         checking the box enables the next button (42ms)
         clicking the next button advances to step 3 (44ms)
         step 3 has no nav buttons
    i2web/connections/helpers/changeStore
      add
         keeps entries list unique
        when writeableAttributes is undefined
           adds any property
          when serialize is defined
             adds a serialized property
             does not add an unserialized property
        when writeableAttributes is defined
           adds a writeable property
           does not add a non-writeable property
      get
        when an instance has entries
           returns array of entries
        when an instance has no entries
           returns blank array
      clear
         clears all entries for an instance
         leaves other instance entries
    i2web/connections/helpers/overwrite
      when overwriting a prototype function
         overwrite function is called once
        the overwritten function
           can invoke base function
           can invoke a connection function
      when overwriting a static function
         overwrite function is called once
        the overwritten function
           can invoke base function
           can invoke a connection function
    i2web/connections/can-map-diff
      tracking changes
         changes to writeable attributes are tracked
         changes to non-writeable attributes are not tracked
         changes to top-level attributes are tracked
      saving
        after a successful save
           tracked changes are removed
        after an unsuccessful save
           tracked changes are not removed
    i2web/connections/can-map-address
      Making a `get` request with a base:id
         Adds a base:address property
    i2web/connections/merge-data
       patch update does not remove missing properties
      when removeAttr is true
        retrieving an instance
           does not remove missing properties
        updating an instance
           merges arrays
           replaces populated arrays with empty ones
    i2web/connections/data-cornea
      get
        Using the base:address
           Calls bridge base:GetAttributes with proper destination
        Using the base:id
           Calls bridge base:GetAttributes with proper destination
      save
         Calls bridge base:SetAttributes with proper destination
         Calls bridge base:SetAttributes with only changed (writeable) attributes
         Does not calls bridge base:SetAttributes if nothing has changed
    i2web/cornea/library
      initialise
         throws an error if no url is provided
         throws an error if WebSockets are not supported
         returns a Promise
         Returns existing Promise if called multiple times
      connecting
         creates a WebSocket connection
        connection deferred
           is resolved when connection is successful (59ms)
           is rejected when connection is unsuccessful
        binds to WebSocket events
           onopen
           onclose
           onmessage
           onerror
      send
         returns a Promise
         rejects promise if socket is not open
        after being connected
           rejects promise if socket is closed
          A request
             resolves promise when response is received
             rejects promise when response is an error
             rejects promise if response times out (201ms)
      receiving
        events with a subject
           emits a subject event
        events without a subject
           emits an eventType event
      closing
        manually
           closes the WebSocket
           cleans up the WebSocket
           emits a WebSocketClosed event
        from the server cleanly
           closes the WebSocket
           cleans up the WebSocket
           emits a WebSocketClosed event
        from the server
           closes the WebSocket
      reconnecting
        when server disconnects cleanly
           cleans up Cornea instance
    i2web/cornea/bridge
      message formatting
         adds type
        headers
           sets isRequest to `true`
           adds destination
        payload
           adds messageType
           sets attributes to empty Object of none are provided
           adds attributes if defined
      request
         calls Cornea.send
         returns Promise
         resolves Promise if request succeeds
         rejects Promise if request fails
      restfulRequest
         returns Promise
         resolves Promise if request succeeds
         rejects Promise if request fails
         sends stringified attributes to URL
    i2web/cornea/backoff
      start
         invokes callback after initial delay
      continue
         invokes callback after doubled delay
         delay doubles each time
         delay never exceed max
      reset
         stops current iteration
      cancel
         stops current iteration
         prevents continue from workin
    i2web/pages/devices
      initial render
         shall be rendered on the page
      rendering hub
         shall render an iris-hub-panel for the hub
      rendering all devices
         shall render an iris-device-panel for each device on the place
      rendering a single device
        – shall render 1 device when deviceId is the device id
    i2web/pages/history
      – needs tests
    i2web/pages/home
      – needs tests
    i2web/pages/login
      – needs tests
    i2web/pages/rules
      rendering
         shall be rendered on the page
         shall render MY RULES as the default content
         shall display information text below button in MY RULES
      interaction
         shall display text following the buttons when "ADD A RULE" is selected (98ms)
    i2web/pages/scenes
      rendering
         shall be rendered on the page
    i2web/pages/services
      – needs tests
    i2web/pages/settings
      rendering
         shall be rendered on the page
        – renders more panels for account owners than non-owners
      interactions
        – shall opt a user into marketing material when checked and opt out when unchecked
    i2web functional smoke test
      rendering
         shall be render the login component on the page (7750ms)


  443 passing (32s)
  38 pending