writing cells specs + restore the bushido.json file
This commit is contained in:
parent
ffb780238b
commit
0a8321ad3d
2
Gemfile
2
Gemfile
@ -47,6 +47,8 @@ group :development do
|
|||||||
gem 'unicorn' # Using unicorn_rails instead of webrick (default server)
|
gem 'unicorn' # Using unicorn_rails instead of webrick (default server)
|
||||||
|
|
||||||
gem 'rspec-rails', '2.6.1' # in order to have rspec tasks and generators
|
gem 'rspec-rails', '2.6.1' # in order to have rspec tasks and generators
|
||||||
|
|
||||||
|
gem 'rspec-cells'
|
||||||
end
|
end
|
||||||
|
|
||||||
group :test, :development do
|
group :test, :development do
|
||||||
|
@ -228,6 +228,10 @@ GEM
|
|||||||
rspec-core (~> 2.6.0)
|
rspec-core (~> 2.6.0)
|
||||||
rspec-expectations (~> 2.6.0)
|
rspec-expectations (~> 2.6.0)
|
||||||
rspec-mocks (~> 2.6.0)
|
rspec-mocks (~> 2.6.0)
|
||||||
|
rspec-cells (0.0.5)
|
||||||
|
cells (~> 3.4)
|
||||||
|
rails (~> 3.0)
|
||||||
|
rspec-rails (~> 2.2)
|
||||||
rspec-core (2.6.4)
|
rspec-core (2.6.4)
|
||||||
rspec-expectations (2.6.0)
|
rspec-expectations (2.6.0)
|
||||||
diff-lcs (~> 1.1.2)
|
diff-lcs (~> 1.1.2)
|
||||||
@ -327,6 +331,7 @@ DEPENDENCIES
|
|||||||
rails (= 3.0.9)
|
rails (= 3.0.9)
|
||||||
rake (= 0.9.2)
|
rake (= 0.9.2)
|
||||||
rmagick (= 2.12.2)
|
rmagick (= 2.12.2)
|
||||||
|
rspec-cells
|
||||||
rspec-rails (= 2.6.1)
|
rspec-rails (= 2.6.1)
|
||||||
ruby-debug
|
ruby-debug
|
||||||
ruby-debug19
|
ruby-debug19
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
'platform': 'rails',
|
"platform": "rails",
|
||||||
'platform_version': 3,
|
"platform_version": 3,
|
||||||
'ruby_version': '1.9.2',
|
"ruby_version": "1.9.2",
|
||||||
'sql': false,
|
"sql": false,
|
||||||
'mongodb': true,
|
"mongodb": true,
|
||||||
'start_page': 'admin/pages#guider=welcome',
|
"start_page": "admin/pages#guider=welcome",
|
||||||
'project_name': 'locomotive'
|
"project_name": "locomotive"
|
||||||
}
|
}
|
||||||
|
150
doc/TODO
150
doc/TODO
@ -1,79 +1,5 @@
|
|||||||
BOARD:
|
BOARD:
|
||||||
|
|
||||||
x bushido version
|
|
||||||
x default template
|
|
||||||
~ editable_elements: inheritable: false (Mattias) => seems to be fixed by Dirk's last pull request (#44) => content tag
|
|
||||||
x resizing images on the fly
|
|
||||||
x locomedia tinyMCE plugin (Bernd)
|
|
||||||
x remove asset_collections
|
|
||||||
x site templates
|
|
||||||
x tinyMCE plugin
|
|
||||||
x vignette.rb
|
|
||||||
x code
|
|
||||||
x helpers
|
|
||||||
x ui
|
|
||||||
x rake task
|
|
||||||
x internal collection
|
|
||||||
x assign same _id
|
|
||||||
x pick up a theme_asset
|
|
||||||
x pull request locomedia
|
|
||||||
x refactor slugify method (use parameterize + create a module)
|
|
||||||
x contents permalink (UI)
|
|
||||||
x BUG: has_one / has_many. Delete an author
|
|
||||||
x bushido changes in the master
|
|
||||||
? edit sidebar (inline editor). Unable to reset it
|
|
||||||
x SEO: support and support/ should be 2 different pages. Remove trailing slash
|
|
||||||
x issue #91: httparty
|
|
||||||
x issue #90: seo metadata
|
|
||||||
x issue #57: seo page title
|
|
||||||
x issue #56
|
|
||||||
x tweak ui: form, quick link to edit a model in the popup menu
|
|
||||||
x Has_one => group by in the select
|
|
||||||
x better hints:
|
|
||||||
x notify the user that after changing the page title, they still have to click "update" for the change to be saved
|
|
||||||
x created_by ASC => "Creation date ascending"
|
|
||||||
x cancan: (authors / designers / admin)
|
|
||||||
x model
|
|
||||||
x ui
|
|
||||||
x controllers / views:
|
|
||||||
x page
|
|
||||||
x content / content type
|
|
||||||
x asset
|
|
||||||
x site
|
|
||||||
x account
|
|
||||||
x snippet
|
|
||||||
x theme asset
|
|
||||||
x features / specs
|
|
||||||
x enable rack-cache only for a specific url
|
|
||||||
x more cucumber tests for the content types
|
|
||||||
x check hosting:
|
|
||||||
x heroku
|
|
||||||
x bushi.do
|
|
||||||
x unable to reach the console
|
|
||||||
x deploy => okay
|
|
||||||
x unable to set a new subdomain
|
|
||||||
x liquid tag: Date.today (now), add a test to compare 2 dates
|
|
||||||
? better ui: increase text field length (auto sizable ?) + refactor error message
|
|
||||||
- trigger refresh at startup
|
|
||||||
x bugs
|
|
||||||
x heroku: unable to upload a new file => okay
|
|
||||||
x import => okay
|
|
||||||
x delete an item => okay
|
|
||||||
x bug: duplicate fields (new entry) when errors in the content type form
|
|
||||||
x tinyMCE => fullscreen
|
|
||||||
x export site
|
|
||||||
x rake task to import a remote template
|
|
||||||
x MERGE
|
|
||||||
x remove withelist for assets since we've got now roles
|
|
||||||
x admin role is not correctly set when creating a new website
|
|
||||||
x the required star for file field is not shown
|
|
||||||
x Rights to set roles (ticket #104)
|
|
||||||
x export: problems with templatized pages (source => multi levels pages)
|
|
||||||
x do not rename files for fonts
|
|
||||||
x icon for redirection page in the pages section (back-office)
|
|
||||||
x installed on heroku with source
|
|
||||||
x test and/or convert existing templates (the 2 of the themes section)
|
|
||||||
|
|
||||||
BACKLOG:
|
BACKLOG:
|
||||||
|
|
||||||
- custom_fields:
|
- custom_fields:
|
||||||
@ -99,7 +25,6 @@ BACKLOG:
|
|||||||
- tooltip to explain the difference between 1.) Admin 2.) Author 3.) Designer?
|
- tooltip to explain the difference between 1.) Admin 2.) Author 3.) Designer?
|
||||||
- [bushido] guiders / welcome page / devise cas authentication (SSO)
|
- [bushido] guiders / welcome page / devise cas authentication (SSO)
|
||||||
|
|
||||||
|
|
||||||
REFACTORING:
|
REFACTORING:
|
||||||
|
|
||||||
- move content_type and content_instances in the CustomFields plugin (much more appropriate)
|
- move content_type and content_instances in the CustomFields plugin (much more appropriate)
|
||||||
@ -289,4 +214,77 @@ x integrate new locomotivecms home
|
|||||||
x seo section for the page form: seo title, seo keywords, seo description
|
x seo section for the page form: seo title, seo keywords, seo description
|
||||||
x bugs: #50, #51
|
x bugs: #50, #51
|
||||||
x 2 different sites on the same main domain (one in www, the other one in something else) (Raphael Costa)
|
x 2 different sites on the same main domain (one in www, the other one in something else) (Raphael Costa)
|
||||||
! asset collections: custom resizing if image
|
! asset collections: custom resizing if image
|
||||||
|
x bushido version
|
||||||
|
x default template
|
||||||
|
~ editable_elements: inheritable: false (Mattias) => seems to be fixed by Dirk's last pull request (#44) => content tag
|
||||||
|
x resizing images on the fly
|
||||||
|
x locomedia tinyMCE plugin (Bernd)
|
||||||
|
x remove asset_collections
|
||||||
|
x site templates
|
||||||
|
x tinyMCE plugin
|
||||||
|
x vignette.rb
|
||||||
|
x code
|
||||||
|
x helpers
|
||||||
|
x ui
|
||||||
|
x rake task
|
||||||
|
x internal collection
|
||||||
|
x assign same _id
|
||||||
|
x pick up a theme_asset
|
||||||
|
x pull request locomedia
|
||||||
|
x refactor slugify method (use parameterize + create a module)
|
||||||
|
x contents permalink (UI)
|
||||||
|
x BUG: has_one / has_many. Delete an author
|
||||||
|
x bushido changes in the master
|
||||||
|
? edit sidebar (inline editor). Unable to reset it
|
||||||
|
x SEO: support and support/ should be 2 different pages. Remove trailing slash
|
||||||
|
x issue #91: httparty
|
||||||
|
x issue #90: seo metadata
|
||||||
|
x issue #57: seo page title
|
||||||
|
x issue #56
|
||||||
|
x tweak ui: form, quick link to edit a model in the popup menu
|
||||||
|
x Has_one => group by in the select
|
||||||
|
x better hints:
|
||||||
|
x notify the user that after changing the page title, they still have to click "update" for the change to be saved
|
||||||
|
x created_by ASC => "Creation date ascending"
|
||||||
|
x cancan: (authors / designers / admin)
|
||||||
|
x model
|
||||||
|
x ui
|
||||||
|
x controllers / views:
|
||||||
|
x page
|
||||||
|
x content / content type
|
||||||
|
x asset
|
||||||
|
x site
|
||||||
|
x account
|
||||||
|
x snippet
|
||||||
|
x theme asset
|
||||||
|
x features / specs
|
||||||
|
x enable rack-cache only for a specific url
|
||||||
|
x more cucumber tests for the content types
|
||||||
|
x check hosting:
|
||||||
|
x heroku
|
||||||
|
x bushi.do
|
||||||
|
x unable to reach the console
|
||||||
|
x deploy => okay
|
||||||
|
x unable to set a new subdomain
|
||||||
|
x liquid tag: Date.today (now), add a test to compare 2 dates
|
||||||
|
? better ui: increase text field length (auto sizable ?) + refactor error message
|
||||||
|
- trigger refresh at startup
|
||||||
|
x bugs
|
||||||
|
x heroku: unable to upload a new file => okay
|
||||||
|
x import => okay
|
||||||
|
x delete an item => okay
|
||||||
|
x bug: duplicate fields (new entry) when errors in the content type form
|
||||||
|
x tinyMCE => fullscreen
|
||||||
|
x export site
|
||||||
|
x rake task to import a remote template
|
||||||
|
x MERGE
|
||||||
|
x remove withelist for assets since we've got now roles
|
||||||
|
x admin role is not correctly set when creating a new website
|
||||||
|
x the required star for file field is not shown
|
||||||
|
x Rights to set roles (ticket #104)
|
||||||
|
x export: problems with templatized pages (source => multi levels pages)
|
||||||
|
x do not rename files for fonts
|
||||||
|
x icon for redirection page in the pages section (back-office)
|
||||||
|
x installed on heroku with source
|
||||||
|
x test and/or convert existing templates (the 2 of the themes section)
|
143
spec/cells/admin/settings_menu_cell_spec.rb
Normal file
143
spec/cells/admin/settings_menu_cell_spec.rb
Normal file
@ -0,0 +1,143 @@
|
|||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
module Resetter
|
||||||
|
|
||||||
|
@@original_settings_menu_cell_klass = Admin::SettingsMenuCell
|
||||||
|
|
||||||
|
def self.original_settings_menu_cell_klass
|
||||||
|
@@original_settings_menu_cell_klass
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.reset_settings_menu_cell_klass
|
||||||
|
::Admin.send(:remove_const, 'SettingsMenuCell')
|
||||||
|
::Admin.const_set('SettingsMenuCell', self.original_settings_menu_cell_klass.clone)
|
||||||
|
::Admin::SettingsMenuCell.any_instance.stubs(:sections).returns({ :main => 'settings', :sub => 'site' })
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
# puts "initial object_id = #{@original_settings_menu_cell_klass.object_id}"
|
||||||
|
|
||||||
|
# def reset_settings_menu_cell!
|
||||||
|
# ::Admin.send(:remove_const, 'SettingsMenuCell') rescue nil
|
||||||
|
# load 'admin/settings_menu_cell.rb'
|
||||||
|
# # ::Admin.const_set('SettingsMenuCell', @original_settings_menu_cell_klass)
|
||||||
|
# end
|
||||||
|
|
||||||
|
describe Admin::SettingsMenuCell, :type => :cells do
|
||||||
|
|
||||||
|
render_views
|
||||||
|
|
||||||
|
# before(:each) do
|
||||||
|
# puts "1...#{Admin::SettingsMenuCell.object_id}"
|
||||||
|
# # @original_settings_menu_cell_klass = Admin::SettingsMenuCell.clone
|
||||||
|
# # ::Admin.send(:remove_const, 'SettingsMenuCell')
|
||||||
|
# # ::Admin.const_set('SettingsMenuCell', @original_settings_menu_cell_klass.clone)
|
||||||
|
# # @cell_klass = Class.new(Admin::SettingsMenuCell)
|
||||||
|
# # reset_settings_menu_cell!
|
||||||
|
#
|
||||||
|
# # Resetter.reset_settings_menu_cell_klass
|
||||||
|
#
|
||||||
|
# # Admin::SettingsMenuCell.any_instance.stubs(:sections).returns({ :main => 'settings', :sub => 'site' })
|
||||||
|
# end
|
||||||
|
#
|
||||||
|
# after(:each) do
|
||||||
|
# puts "2....#{Admin::SettingsMenuCell.object_id} (polluted) / clone: #{Resetter.original_settings_menu_cell_klass.object_id} (cleaned)"
|
||||||
|
# # ::Admin.send(:remove_const, 'SettingsMenuCell')
|
||||||
|
# # ::Admin.const_set('SettingsMenuCell', @original_settings_menu_cell_klass)
|
||||||
|
# end
|
||||||
|
|
||||||
|
let(:menu) { render_cell('admin/settings_menu', :show) }
|
||||||
|
|
||||||
|
describe 'show menu' do
|
||||||
|
|
||||||
|
before(:all) do
|
||||||
|
Resetter.reset_settings_menu_cell_klass
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'has 3 items' do
|
||||||
|
puts "1...#{Admin::SettingsMenuCell.object_id}"
|
||||||
|
menu.should have_selector('li', :count => 3)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'has a link to edit the current site' do
|
||||||
|
puts "2...#{Admin::SettingsMenuCell.object_id}"
|
||||||
|
menu.should have_link('Site')
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'has a link to edit the template files' do
|
||||||
|
puts "3...#{Admin::SettingsMenuCell.object_id}"
|
||||||
|
menu.should have_link('Theme files')
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'has a link to edit my account' do
|
||||||
|
puts "4...#{Admin::SettingsMenuCell.object_id}"
|
||||||
|
menu.should have_link('My account')
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
describe 'add a new menu item' do
|
||||||
|
|
||||||
|
before(:each) do
|
||||||
|
Resetter.reset_settings_menu_cell_klass
|
||||||
|
Admin::SettingsMenuCell.update_for(:add) { |m| m.add(:my_link, :label => 'My link', :url => 'http://www.locomotivecms.com') }
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'has 4 items' do
|
||||||
|
menu.should have_selector('li', :count => 4)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'has a new link' do
|
||||||
|
menu.should have_link('My link')
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
describe 'remove a new menu item' do
|
||||||
|
|
||||||
|
before(:each) do
|
||||||
|
Resetter.reset_settings_menu_cell_klass
|
||||||
|
Admin::SettingsMenuCell.update_for(:remove) { |m| m.remove(:theme_assets) }
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'has 2 items' do
|
||||||
|
menu.should have_selector('li', :count => 2)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'does not have the link to edit the template files' do
|
||||||
|
menu.should_not have_link('Theme files')
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
# describe 'add / remove / edit menu items' do
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# end
|
||||||
|
|
||||||
|
# describe "search posts" do
|
||||||
|
# let(:search) { render_cell(:posts, :search) }
|
||||||
|
#
|
||||||
|
# it "should have a search field" do
|
||||||
|
# search.should have_field("Search by Title")
|
||||||
|
# end
|
||||||
|
#
|
||||||
|
# it "should have a search button" do
|
||||||
|
# search.should have_button("Search")
|
||||||
|
# end
|
||||||
|
# end
|
||||||
|
#
|
||||||
|
# describe "latest posts" do
|
||||||
|
# subject { render_cell(:posts, :latest) }
|
||||||
|
#
|
||||||
|
# it { should have_css("h3.title", :text => "Latest Posts") }
|
||||||
|
# it { should have_table("latest_posts") }
|
||||||
|
# it { should have_link("View all Posts") }
|
||||||
|
# it { should_not have_button("Create Post") }
|
||||||
|
# it { should_not have_field("Search by Title") }
|
||||||
|
# end
|
||||||
|
|
||||||
|
end
|
@ -4,6 +4,7 @@ require File.expand_path('../../config/environment', __FILE__)
|
|||||||
|
|
||||||
require 'rspec/rails'
|
require 'rspec/rails'
|
||||||
require 'factory_girl'
|
require 'factory_girl'
|
||||||
|
|
||||||
Factory.find_definitions
|
Factory.find_definitions
|
||||||
|
|
||||||
# Requires supporting ruby files with custom matchers and macros, etc,
|
# Requires supporting ruby files with custom matchers and macros, etc,
|
||||||
|
3
spec/support/cells.rb
Normal file
3
spec/support/cells.rb
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
require 'rspec-cells'
|
||||||
|
require 'cell/test_case'
|
||||||
|
require 'rspec/rails/example/cell_example_group'
|
Loading…
Reference in New Issue
Block a user