Create note on discontinued development
[merb_mart.git] / spec / models / state_spec.rb
blobd135631cc7328364d4bcea3e14a2ed6804ca3fe5
1 require File.join( File.dirname(__FILE__), "..", "spec_helper" )
3 describe State do
5   before(:each) do
6     DataMapper.auto_migrate!
7     @state = State.gen
8   end
10   describe "associations" do
11     it "should belong to a country" do
12       state = State.gen
13       state.should respond_to(:country)
14       state.country.states.should include(state)
15       state.should respond_to(:country=)
16       state.should respond_to(:country_code)
17     end
18   end
20   before(:each) do
21     State.auto_migrate!  # clear db table
22   end
24   it "should have a composite key, made up of ISO 3166-1 alpha-2 country code
25       and state abbreviation" do
26     maine  = State.new(:country_code => "US", :abbr => "ME", :name => "Maine")
27     alaska = State.new(:country_code => "US", :abbr => "AK", :name => "Alaska")
28     bremen = State.new(:country_code => "DE", :abbr => "HB", :name => "Bremen")
30     maine.save
31     alaska.save
32     bremen.save
34     #State["US", "AK"]  ## FIXME
35     alaska = State.get("US", "AK")
36     alaska.should_not be_nil
37     alaska.key.first.should == "US"
38     alaska.key.last.should == "AK"
39     alaska.name.should == "Alaska"
41     #bremen = State["DE", "HB"]  ## FIXME
42     bremen = State.get("DE", "HB")
43     bremen.should_not be_nil
44     bremen.key.should == ["DE", "HB"]
45     bremen.name.should == "Bremen"
46   end
48 end