summaryrefslogtreecommitdiff
path: root/spec/unit/formatters/doc_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/unit/formatters/doc_spec.rb')
-rw-r--r--spec/unit/formatters/doc_spec.rb26
1 files changed, 26 insertions, 0 deletions
diff --git a/spec/unit/formatters/doc_spec.rb b/spec/unit/formatters/doc_spec.rb
index eb98f5abd3..7266afc320 100644
--- a/spec/unit/formatters/doc_spec.rb
+++ b/spec/unit/formatters/doc_spec.rb
@@ -49,4 +49,30 @@ describe Chef::Formatters::Base do
expect(out.string).to include("- apache2 (1.2.3")
end
+ it "prints only seconds when elapsed time is less than 60 seconds" do
+ @now = Time.now
+ allow(Time).to receive(:now).and_return(@now, @now + 10.0)
+ formatter.run_completed(nil)
+ expect(formatter.elapsed_time).to eql(10.0)
+ expect(formatter.pretty_elapsed_time).to include("10 seconds")
+ expect(formatter.pretty_elapsed_time).not_to include("minutes")
+ expect(formatter.pretty_elapsed_time).not_to include("hours")
+ end
+
+ it "prints minutes and seconds when elapsed time is more than 60 seconds" do
+ @now = Time.now
+ allow(Time).to receive(:now).and_return(@now, @now + 610.0)
+ formatter.run_completed(nil)
+ expect(formatter.elapsed_time).to eql(610.0)
+ expect(formatter.pretty_elapsed_time).to include("10 minutes 10 seconds")
+ expect(formatter.pretty_elapsed_time).not_to include("hours")
+ end
+
+ it "prints hours, minutes and seconds when elapsed time is more than 3600 seconds" do
+ @now = Time.now
+ allow(Time).to receive(:now).and_return(@now, @now + 36610.0)
+ formatter.run_completed(nil)
+ expect(formatter.elapsed_time).to eql(36610.0)
+ expect(formatter.pretty_elapsed_time).to include("10 hours 10 minutes 10 seconds")
+ end
end