diff --git a/lib/integrity/ui/web/views/project.haml b/lib/integrity/ui/web/views/project.haml index 63ad7764..a57d4117 100644 --- a/lib/integrity/ui/web/views/project.haml +++ b/lib/integrity/ui/web/views/project.haml @@ -19,6 +19,7 @@ %button{ :type => :submit } Request Manual Build - unless @project.previous_builds.empty? + %h2 Previous builds %ul#previous_builds - @project.previous_builds.each do |build| - %li= build.human_readable_status + %li{ :class => build.status}= build.human_readable_status diff --git a/spec/ui/web_spec.rb b/spec/ui/web_spec.rb index 5727a357..05e92a05 100644 --- a/spec/ui/web_spec.rb +++ b/spec/ui/web_spec.rb @@ -215,18 +215,32 @@ def mock_project(messages={}) describe 'with previous builds' do before(:each) do - @previous_build_successful = mock('successful build', :human_readable_status => 'Build Successful') - @previous_build_failed = mock('successful build', :human_readable_status => 'Build Failed') + @previous_build_successful = mock('successful build', :status => :success, :human_readable_status => 'Build Successful') + @previous_build_failed = mock('successful build', :status => :fail, :human_readable_status => 'Build Failed') @project.stub!(:previous_builds).and_return([@previous_build_successful, @previous_build_failed]) end - it 'should display the status of each previous builds' do + it 'should list every previous builds' do + get_it '/integrity' + body.should have_tag('h2', 'Previous builds') + body.should have_tag('ul#previous_builds > li', :count => 2) + end + + it 'should display the status of the previous builds' do get_it '/integrity' body.should have_tag('ul#previous_builds') do |ul| ul.should have_tag('li', 'Build Successful') ul.should have_tag('li', 'Build Failed') end end + + it "should use class depending on build on build's status" do + get_it '/integrity' + body.should have_tag('ul#previous_builds') do |ul| + ul.should have_tag('li[@class=success]') + ul.should have_tag('li[@class=fail]') + end + end end end end