spec/capture_spec.rb in gatling-1.0.8 vs spec/capture_spec.rb in gatling-1.0.9
- old
+ new
@@ -1,23 +1,54 @@
require 'spec_helper'
describe Gatling::CaptureElement do
-
- before do
+ before :each do
capybara_node = mock (Capybara::Node::Element)
- Gatling::Configuration.reference_image_path="./"
- Gatling::CaptureElement.new capybara_node, capybara_node
+ Gatling::Configuration.should_receive(:reference_image_path).and_return("./")
+ @capture_element = Gatling::CaptureElement.new capybara_node, capybara_node
end
-
+ after :each do
+ config_clean_up
+ end
+ describe 'take_screenshot' do
+ before do
+ @webdriver = double('webdriver')
+ Capybara.stub_chain(:page, :driver, :browser).and_return(@webdriver)
+
+ @expected_temp_screenshot_file_pattern = /.*\/temp\/temp-\d+.png/
+ end
+
+ it 'should create temp directory when it does not exist' do
+ @webdriver.stub!(:save_screenshot)
+ Magick::Image.stub!(:read).and_return([])
+
+ File.stub!(:'exists?').and_return(false)
+ FileUtils.should_receive(:mkdir_p).with('./temp')
+
+ @capture_element.take_screenshot
+ end
+
+
+ it 'should work when Gatling is called concurrently from multiple processes' do
+ @webdriver.should_receive(:save_screenshot).with(@expected_temp_screenshot_file_pattern)
+ Magick::Image.should_receive(:read).with(@expected_temp_screenshot_file_pattern).and_return([])
+
+ @capture_element.take_screenshot
+ end
+ end
+
+
+
# it 'should exclude a specified element from capture' do
- # element_to_capture =
+ # element_to_capture =
- # element_to_exclude = 'womething.child'
+ # element_to_exclude = 'womething.child'
# # @cropped_and_censored_element = (element_to_capture, element_to_exclude).exclude
# @cropped_and_censored_element.should_not equal(@element_to_capture)
# @cropped_and_censored_element.should_not equal(@element_to_exclude)
# end
-end
\ No newline at end of file
+end
+