describe 'GridFormCheckbox', ->
  React = require 'react'
  GridFormCheckbox = React.createFactory require('../../src/components/grid_form/grid_form_checkbox')
  TestUtils = require 'react-dom/test-utils'
  ReactDOM = require 'react-dom'

   
   
  #--------------------------------------------------------------------- Default Props
  it 'Should have default props', ->
    gridFormCheckbox = TestUtils.renderIntoDocument GridFormCheckbox {}
        
    defaultProps = gridFormCheckbox.props
    expect(defaultProps.labelColumnClass).to.equal('col-3-12')
    expect(defaultProps.checkboxColumnClass).to.equal('col-9-12')
    expect(defaultProps.className).to.equal('grid grid-pad')
    expect(defaultProps.formLabel).to.equal(null)
   

  #--------------------------------------------------------------------- Display 
  it 'Should display a form label for the input field if formLabel has value', ->

    gridFormCheckbox = TestUtils.renderIntoDocument GridFormCheckbox {
      formLabel: 'Test Label'
    }

    label = TestUtils.scryRenderedDOMComponentsWithClass gridFormCheckbox, 'form-label'
   
    expect(label.length).to.equal(1)

  it 'Should not display a form label for the input field if formLabel has no value', ->

    gridFormCheckbox = TestUtils.renderIntoDocument GridFormCheckbox {}

    label = TestUtils.scryRenderedDOMComponentsWithClass gridFormCheckbox, 'form-label'
   
    expect(label.length).to.equal(0)


  it 'Should display a red asterick next to the form label if formLabel has value and isFieldRequired is true', ->

    gridFormCheckbox = TestUtils.renderIntoDocument GridFormCheckbox {
      formLabel: 'Test Label'
      isFieldRequired: true
    }
    
    isRequired = TestUtils.scryRenderedDOMComponentsWithClass gridFormCheckbox, 'form-label is-required'
   
    expect(isRequired.length).to.equal(1)


  it 'Should display input field with type equal to checkbox', ->
    onChange = sinon.spy()

    gridFormCheckbox = TestUtils.renderIntoDocument GridFormCheckbox {
      onChange: onChange
    }

    input = TestUtils.findRenderedDOMComponentWithTag gridFormCheckbox, 'input'

    inputField = ReactDOM.findDOMNode(input)

    expect(inputField.type).to.equal('checkbox')

 

    
 



  

 

      

  
  # 