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 |