### Theme assets # helps create a theme asset def create_plain_text_asset(name, type) asset = FactoryGirl.build(:theme_asset, { :site => @site, :plain_text_name => name, :plain_text => 'Lorem ipsum', :plain_text_type => type, :performing_plain_text => true }) asset.save! end # creates various theme assets Given /^a javascript asset named "([^"]*)"$/ do |name| @asset = create_plain_text_asset(name, 'javascript') end Given /^a stylesheet asset named "([^"]*)"$/ do |name| @asset = create_plain_text_asset(name, 'stylesheet') end Given /^I have an image theme asset named "([^"]*)"$/ do |name| @asset = FactoryGirl.create(:theme_asset, :site => @site, :source => File.open(Rails.root.join('..', 'fixtures', 'assets', '5k.png'))) @asset.source_filename = name @asset.save! end # other stuff # change the template When /^I change the theme asset code to "([^"]*)"$/ do |plain_text| page.evaluate_script "window.application_view.view.editor.setValue('#{plain_text}')" end Then /^I should see "([^"]*)" as the theme asset code$/ do |code| find(:css, "#theme_asset_plain_text").value.should == code end Then /^I should see a delete link$/ do page.has_css?(".box ul li .more a.remove").should be_true end Then /^I should not see a delete link$/ do page.has_css?(".box ul li .more a.remove").should be_false end