From 2916933dcdfbf742117fb0a60e32ef3085c976ee Mon Sep 17 00:00:00 2001 From: Simon Rozet Date: Mon, 21 Jul 2008 13:27:22 +0200 Subject: [PATCH] apply class 'fail' or 'success' on each item of the previous build listing [#3] --- lib/integrity/ui/web/views/project.haml | 3 ++- spec/ui/web_spec.rb | 20 +++++++++++++++++--- 2 files changed, 19 insertions(+), 4 deletions(-) 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