<% end %>
</td>
<td>
+ <% case true %>
+ <% when original_picture.unpublished? %>
+ <%= t('original_pictures.unpublished') %>
+ <% when original_picture.stopped? %>
+ <%= t('original_pictures.stopped') %>
+ <% when original_picture.unlicensed? %>
+ <%= t('original_pictures.unlicensed') %>
+ <% when original_picture.published? %>
+ <%= t('original_pictures.published') %>
+ <% end %>
+ </td>
+ <td>
+ <% if original_picture.resource_picture %>
+ <%= link_to tag(:img, original_picture.resource_picture.tmb_opt_img_tag), original_picture.resource_picture %>
+ <% else %>
+ <% end %>
</td>
<td>
<% if original_picture.resource_picture %>
<%= link_to tag(:img, @original_picture.opt_img_tag), @original_picture.url %>
<p>
+ <b><%= t 'original_pictures.index.status' -%>:</b>
+ <% case true %>
+ <% when @original_picture.unpublished? %>
+ <%= t('original_pictures.unpublished') %>
+ <% when @original_picture.stopped? %>
+ <%= t('original_pictures.stopped') %>
+ <% when @original_picture.unlicensed? %>
+ <%= t('original_pictures.unlicensed') %>
+ <% when @original_picture.published? %>
+ <%= t('original_pictures.published') %>
+ <% end %>
+ </p>
+
+ <p>
<b><%= t_m 'OriginalPicture.ext' -%>:</b>
<%= @original_picture.ext %>
</p>
end
end
+ describe '未公開に於いて' do
+ before do
+ @op = FactoryGirl.create :original_picture, :artist_id => @artist.id
+ end
+ context '実素材がゼロのとき' do
+ it 'Trueを返す' do
+ r = @op.unpublished?
+ r.should be_true
+ end
+ end
+ context '実素材がゼロではないとき' do
+ it 'Falseを返す' do
+ @p = FactoryGirl.create :picture, :artist_id => @artist.id, :original_picture_id => @op.id, :license_id => @license.id
+ r = @op.unpublished?
+ r.should be_false
+ end
+ end
+ end
+
+ describe '停止中に於いて' do
+ before do
+ @op = FactoryGirl.create :original_picture, :artist_id => @artist.id
+ end
+ context '未公開ではないが、素材がないとき' do
+ it 'Trueを返す' do
+ @p = FactoryGirl.create :picture, :artist_id => @artist.id, :original_picture_id => @op.id, :license_id => @license.id
+ r = @op.stopped?
+ r.should be_true
+ end
+ end
+ context '未公開のとき' do
+ it 'Falseを返す' do
+ r = @op.stopped?
+ r.should be_false
+ end
+ end
+ context '未公開ではなく、素材もあるとき' do
+ it 'falseを返す' do
+ @p = FactoryGirl.create :picture, :artist_id => @artist.id, :original_picture_id => @op.id, :license_id => @license.id
+ @rp = FactoryGirl.create :resource_picture, :artist_id => @artist.id, :original_picture_id => @op.id, :license_id => @license.id, :picture_id => @p.id
+ r = @op.stopped?
+ r.should be_false
+ end
+ end
+ end
+
+ describe 'ライセンス待ちに於いて' do
+ before do
+ @op = FactoryGirl.create :original_picture, :artist_id => @artist.id
+ end
+ context '未公開ではなく、素材もあるが、原画の更新日時が実素材のheadのそれより後のとき' do
+ it 'Trueを返す' do
+ @p = FactoryGirl.create :picture, :artist_id => @artist.id, :original_picture_id => @op.id, :license_id => @license.id, :updated_at => Time.now - 1000
+ @rp = FactoryGirl.create :resource_picture, :artist_id => @artist.id, :original_picture_id => @op.id, :license_id => @license.id, :picture_id => @p.id
+ r = @op.unlicensed?
+ r.should be_true
+ end
+ end
+ context '未公開のとき' do
+ it 'Falseを返す' do
+ r = @op.unlicensed?
+ r.should be_false
+ end
+ end
+ context '未公開ではないが、素材がないとき' do
+ it 'Falseを返す' do
+ @p = FactoryGirl.create :picture, :artist_id => @artist.id, :original_picture_id => @op.id, :license_id => @license.id
+ r = @op.unlicensed?
+ r.should be_false
+ end
+ end
+ context '未公開ではなく、素材もあり、実素材のheadの更新日時が原画のそれより後のとき' do
+ it 'Falseを返す' do
+ @p = FactoryGirl.create :picture, :artist_id => @artist.id, :original_picture_id => @op.id, :license_id => @license.id, :updated_at => Time.now + 1000
+ @rp = FactoryGirl.create :resource_picture, :artist_id => @artist.id, :original_picture_id => @op.id, :license_id => @license.id, :picture_id => @p.id
+ r = @op.unlicensed?
+ r.should be_false
+ end
+ end
+ end
+
+ describe '公開中に於いて' do
+ before do
+ @op = FactoryGirl.create :original_picture, :artist_id => @artist.id
+ end
+ context '未公開ではなく、素材もあり、実素材のheadの更新日時が原画のそれより後のとき' do
+ it 'Trueを返す' do
+ @p = FactoryGirl.create :picture, :artist_id => @artist.id, :original_picture_id => @op.id, :license_id => @license.id, :updated_at => Time.now + 1000
+ @rp = FactoryGirl.create :resource_picture, :artist_id => @artist.id, :original_picture_id => @op.id, :license_id => @license.id, :picture_id => @p.id
+ r = @op.published?
+ r.should be_true
+ end
+ end
+ context '未公開のとき' do
+ it 'Falseを返す' do
+ r = @op.published?
+ r.should be_false
+ end
+ end
+ context '未公開ではないが、素材がないとき' do
+ it 'falseを返す' do
+ @p = FactoryGirl.create :picture, :artist_id => @artist.id, :original_picture_id => @op.id, :license_id => @license.id
+ r = @op.published?
+ r.should be_false
+ end
+ end
+ context '未公開ではなく、素材もあるが、原画の更新日時が実素材のheadのそれより後のとき' do
+ it 'falseを返す' do
+ @p = FactoryGirl.create :picture, :artist_id => @artist.id, :original_picture_id => @op.id, :license_id => @license.id, :updated_at => Time.now - 1000
+ @rp = FactoryGirl.create :resource_picture, :artist_id => @artist.id, :original_picture_id => @op.id, :license_id => @license.id, :picture_id => @p.id
+ r = @op.published?
+ r.should be_false
+ end
+ end
+ end
+
describe '一覧取得に於いて' do
before do
@op = FactoryGirl.create :original_picture, :artist_id => @artist.id