Sha256: cbaee0e72a8e58cd2f531a2cc12da878812e1ef8b2a7362290006370e3742289

Contents?: true

Size: 1.48 KB

Versions: 1

Compression:

Stored size: 1.48 KB

Contents

require 'spec_helper'

describe Fe::DateField do
  describe '#ptemplate' do 
    it 'mmyy style' do 
      date_field = Fe::DateField.new
      date_field.style = "mmyy"
      date_field.ptemplate.should == "date_field_mmyy"
    end
    
    it 'default' do 
      date_field = Fe::DateField.new
      date_field.ptemplate.should == "date_field"
    end
  end

  describe '#validation_class' do
    it 'mmyy style' do
      date_field = Fe::DateField.new
      date_field.style = "mmyy"
      date_field.validation_class.should == "validate-selection "
    end

    it 'default' do
      date_field = Fe::DateField.new
      date_field.validation_class.should == "validate-date "
    end
  end

  describe '#response' do
    let(:answer_sheet) { create(:answer_sheet) }
    let(:date_field) { Fe::DateField.create }

    it 'converts db string format to Time' do
      answer = create(:answer, answer_sheet: answer_sheet, question: date_field, value: Time.zone.now)
      date_field.response(answer_sheet).should == Time.parse(answer.reload.value)
    end

    it 'converts US date format format to Time' do
      create(:answer, answer_sheet: answer_sheet, question: date_field, value: '1/12/2013')
      date_field.response(answer_sheet).should == Time.parse('2013-01-12')
    end

    it 'returns empty string if an invalid date is passed in' do
      create(:answer, answer_sheet: answer_sheet, question: date_field, value: '13/12/2013')
      date_field.response(answer_sheet).should == ''
    end
  end
end 

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fe-0.0.3 spec/models/fe/date_field_spec.rb