91 lines
3.2 KiB
Ruby
91 lines
3.2 KiB
Ruby
#encoding: UTF-8
|
|
require 'spec_helper'
|
|
|
|
describe AttributeValue do
|
|
describe "#attribute_value" do
|
|
context "Date should render out right value"
|
|
before do
|
|
@user = User.where(email:'chris@rulingcom.com').first
|
|
@af = AttributeField.last
|
|
@af.markup = "date"
|
|
@af.save
|
|
@av = @user.attribute_values.build :attribute_field=>@af
|
|
end # of before
|
|
|
|
it "should be 民前 1年" do
|
|
|
|
@av.value = {"(1i)"=>"1911", "(2i)"=>"11", "(3i)"=>"6"}
|
|
binding.pry
|
|
@av.get_value_by_locale("zh_tw").should match /^民前.*/
|
|
end
|
|
|
|
it "should be 民國元年" do
|
|
@av.value = {"(1i)"=>"1912", "(2i)"=>"11", "(3i)"=>"6"}
|
|
@av.get_value_by_locale("zh_tw").should "民國元年"
|
|
end
|
|
|
|
it "should be 民國 75年" do
|
|
@av.value ={"(1i)"=>"1913", "(2i)"=>"11", "(3i)"=>"6"}
|
|
@av.get_value_by_locale("zh_tw").should match /^民國.*/
|
|
end
|
|
|
|
context "Data should be able to input and out put as aspect"
|
|
|
|
before do
|
|
@af = AttributeField.find '5052cf9f2b5c49a742000005'
|
|
@user = User.where(email:'chris@rulingcom.com').first
|
|
@av = AttributeValue.last
|
|
end #end before
|
|
|
|
[true,false].each do |locale_sat|
|
|
LIST[:markups].each do |markup|
|
|
@av = nil
|
|
it "[#{markup[0]}]Input: should save data at right way when local is set to #{locale_sat}" do
|
|
pending
|
|
# @af.markup = markup[0]
|
|
# @av = nil
|
|
# @input_value = assume_result = case markup[0]
|
|
# when 'text_field','text_area'
|
|
# (locale_sat ? {"en"=> "lalala","zh_tw"=>"拉拉拉"} : "hahaha")
|
|
# when 'select','radio_button'
|
|
# "1"
|
|
# when 'date'
|
|
# {"(1i)"=>Date.today.year.to_s,"(2i)"=>Date.today.month.to_s,"(3i)"=>Date.today.day.to_s}
|
|
# when 'checkbox'
|
|
# {"1"=>"true", "3"=>"true"}
|
|
# end #end of case
|
|
# assume_result = ["1","3"] if markup[0] == 'checkbox'
|
|
# @af.locale = locale_sat
|
|
# @af.save
|
|
# @data_hash = {"attribute_field_id" => @af.id,"value" => @input_value}
|
|
# @av = @user.attribute_values.build(@data_hash)
|
|
# @av.save
|
|
|
|
# @av.value.should == assume_result
|
|
# @av.destroy
|
|
end
|
|
|
|
it "[#{markup[0]}]Output(just for show): should output data at right way when local is set to #{locale_sat}" do
|
|
pending
|
|
# locale = I18n.locale
|
|
# assume_result = case markup[0]
|
|
# when 'text_area'
|
|
# (locale_sat ? "拉拉拉" : "hahaha")
|
|
# when 'text_field'
|
|
# (locale_sat ? "拉拉拉" : "hahaha")
|
|
# when 'select','radio_button'
|
|
# (locale_sat ? "男性" : "男性")
|
|
# when 'date'
|
|
# Date.today
|
|
# when 'checkbox'
|
|
# (locale_sat ? "男性,不公開" : "男性,不公開")
|
|
# end #end of case
|
|
|
|
# @av.get_value_by_locale(locale).should == assume_result
|
|
end
|
|
|
|
end #end of LIST loop
|
|
end
|
|
|
|
end
|
|
end |