tag_spec.rb
上传用户:netsea168
上传日期:2022-07-22
资源大小:4652k
文件大小:2k
源码类别:

Ajax

开发平台:

Others

  1. require File.dirname(__FILE__) + '/../spec_helper'
  2. describe 'Given loaded fixtures' do
  3.   it 'we can Tag.get by name' do
  4.     Tag.get('foo').should == tags(:foo)
  5.   end
  6.   it 'tags are unique' do
  7.     lambda {Tag.create!(:name => 'test')}.should_not raise_error
  8.     test_tag = Tag.new(:name => 'test')
  9.     test_tag.should_not be_valid
  10.     test_tag.errors.on(:name).should == 'has already been taken'
  11.   end
  12.   it 'display names with spaces can be found by joinedupname' do
  13.     Tag.find(:first, :conditions => {:name => 'Monty Python'}).should be_nil
  14.     tag = Tag.create(:name => 'Monty Python')
  15.     tag.should be_valid
  16.     tag.name.should == 'montypython'
  17.     tag.display_name.should == 'Monty Python'
  18.     tag.should == Tag.get('montypython')
  19.     tag.should == Tag.get('Monty Python')
  20.   end
  21.   it 'articles can be tagged' do
  22.     a = Article.create(:title => 'an article')
  23.     a.tags << tags(:foo)
  24.     a.tags << tags(:bar)
  25.     a.reload
  26.     a.tags.size.should == 2
  27.     a.tags.sort_by(&:id).should == [tags(:foo), tags(:bar)].sort_by(&:id)
  28.   end
  29.   it 'find_all_with_article_counters finds 2 tags' do
  30.     tags = Tag.find_all_with_article_counters
  31.     tags.should have(2).entries
  32.     tags.first.name.should == "foo"
  33.     tags.first.article_counter.should == 3
  34.     tags.last.name.should == 'bar'
  35.     tags.last.article_counter.should == 2
  36.   end
  37.   it 'permalink_url should be of form /tag/<name>' do
  38.     Tag.get('foo').permalink_url.should == 'http://myblog.net/tag/foo'
  39.   end
  40.   
  41.   it "find_with_char('f') should be return foo" do
  42.     Tag.find_with_char('f').should == [tags(:foo)]
  43.   end
  44.   
  45.   it "find_with_char('v') should return empty data" do
  46.     Tag.find_with_char('v').should == []
  47.   end
  48.   
  49.   it "find_with_char('ba') should return tag bar and bazz" do
  50.     Tag.find_with_char('ba').sort_by(&:id).should == [tags(:bar), tags(:bazz)].sort_by(&:id)
  51.   end
  52.   
  53. end