engine/features/step_definitions/theme_asset_steps.rb

50 lines
1.4 KiB
Ruby

### 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