OSDN Git Service

miss edit importer
[pettanr/pettanr.git] / spec / models / license_group_spec.rb
index fddc68a..ebf426e 100644 (file)
@@ -1,5 +1,99 @@
+# -*- encoding: utf-8 -*-
+#ライセンスグループ
 require 'spec_helper'
 
 describe LicenseGroup do
-  pending "add some examples to (or delete) #{__FILE__}"
+  before do
+    #テストデータを用意してね
+    @f = Rails.root + 'spec/json/license_group.json'
+    @t = File.open(@f, 'r').read
+    @j = JSON.parse @t
+  end
+  describe '検証に於いて' do
+    before do
+    end
+    
+    it 'オーソドックスなデータなら通る' do
+      @lg = Factory.build :license_group
+      @lg.should be_valid
+    end
+    
+    context 'nameを検証するとき' do
+      before do
+        @lg = Factory.build :license_group
+      end
+      it 'テストデータの確認' do
+        @lg.name = 'a'*50
+        @lg.should be_valid
+      end
+      it 'nullなら失敗する' do
+        @lg.name = ''
+        @lg.should_not be_valid
+      end
+      it '51文字以上なら失敗する' do
+        @lg.name = 'a'*51
+        @lg.should_not be_valid
+      end
+      it '重複していたら失敗する' do
+        l = Factory :license_group
+        @lg.should_not be_valid
+      end
+    end
+    context 'classnameを検証するとき' do
+      before do
+        @lg = Factory.build :license_group
+      end
+      it 'テストデータの確認' do
+        @lg.classname = 'a'*50
+        @lg.should be_valid
+      end
+      it 'nullなら失敗する' do
+        @lg.classname = ''
+        @lg.should_not be_valid
+      end
+      it '51文字以上なら失敗する' do
+        @lg.classname = 'a'*51
+        @lg.should_not be_valid
+      end
+    end
+    context 'captionを検証するとき' do
+      before do
+        @lg = Factory.build :license_group
+      end
+      it 'テストデータの確認' do
+        @lg.caption = 'a'*30
+        @lg.should be_valid
+      end
+      it 'nullなら失敗する' do
+        @lg.caption = ''
+        @lg.should_not be_valid
+      end
+      it '51文字以上なら失敗する' do
+        @lg.caption = 'a'*51
+        @lg.should_not be_valid
+      end
+    end
+    context 'urlを検証するとき' do
+      before do
+        @lg = Factory.build :license_group
+      end
+      it 'テストデータの確認' do
+        @lg.url = 'http://test.com/'
+        @lg.should be_valid
+      end
+      it 'nullなら失敗する' do
+        @lg.url = ''
+        @lg.should_not be_valid
+      end
+      it '201文字以上なら失敗する' do
+        @lg.url = 'a'*201
+        @lg.should_not be_valid
+      end
+      it 'url形式でないなら失敗する' do
+        @lg.url = 'aaaaaaa'
+        @lg.should_not be_valid
+      end
+    end
+  end
+  
 end