rhodes 0.3.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Manifest.txt +0 -61
- data/Rakefile +11 -13
- data/lib/rhodes.rb +2 -2
- metadata +33 -77
- data/History.txt +0 -40
- data/README.rdoc +0 -2
- data/bin/rhogen +0 -8
- data/generators/rhogen.rb +0 -131
- data/generators/templates/application/application.rb +0 -4
- data/generators/templates/application/index.erb +0 -11
- data/generators/templates/application/layout.erb +0 -17
- data/generators/templates/model/config.rb +0 -3
- data/generators/templates/model/controller.rb +0 -49
- data/generators/templates/model/edit.erb +0 -21
- data/generators/templates/model/index.erb +0 -10
- data/generators/templates/model/new.erb +0 -16
- data/generators/templates/model/show.erb +0 -6
- data/generators/templates/source/source_adapter.rb +0 -56
- data/lib/ServeME.rb +0 -7
- data/lib/TestServe.rb +0 -9
- data/lib/bsearch.rb +0 -120
- data/lib/builtinME.rb +0 -588
- data/lib/date.rb +0 -1792
- data/lib/date/format.rb +0 -1339
- data/lib/dateME.rb +0 -24
- data/lib/erb.rb +0 -896
- data/lib/find.rb +0 -81
- data/lib/rational.rb +0 -19
- data/lib/rationalME.rb +0 -530
- data/lib/rho.rb +0 -1
- data/lib/rho/render.rb +0 -51
- data/lib/rho/rho.rb +0 -240
- data/lib/rho/rhoapplication.rb +0 -36
- data/lib/rho/rhocontact.rb +0 -110
- data/lib/rho/rhocontroller.rb +0 -35
- data/lib/rho/rhofsconnector.rb +0 -32
- data/lib/rho/rhosupport.rb +0 -139
- data/lib/rho/rhoviewhelpers.rb +0 -121
- data/lib/rhoframework.rb +0 -38
- data/lib/rhofsconnector.rb +0 -1
- data/lib/rhom.rb +0 -1
- data/lib/rhom/rhom.rb +0 -58
- data/lib/rhom/rhom_db_adapter.rb +0 -185
- data/lib/rhom/rhom_db_adapterME.rb +0 -93
- data/lib/rhom/rhom_object.rb +0 -65
- data/lib/rhom/rhom_object_factory.rb +0 -197
- data/lib/rhom/rhom_source.rb +0 -60
- data/lib/singleton.rb +0 -137
- data/lib/time.rb +0 -489
- data/spec/app_generator_spec.rb +0 -33
- data/spec/app_manifest.txt +0 -3
- data/spec/configs/account.rb +0 -3
- data/spec/configs/case.rb +0 -3
- data/spec/configs/employee.rb +0 -3
- data/spec/generator_spec_helper.rb +0 -12
- data/spec/model_generator_spec.rb +0 -36
- data/spec/rho_controller_spec.rb +0 -139
- data/spec/rho_spec.rb +0 -61
- data/spec/rhom_object_factory_spec.rb +0 -132
- data/spec/rhom_spec.rb +0 -45
- data/spec/source_generator_spec.rb +0 -27
- data/spec/spec_helper.rb +0 -48
- data/spec/stubs.rb +0 -31
- data/spec/syncdbtest.sqlite +0 -0
- data/tasks/rspec.rake +0 -34
data/spec/app_generator_spec.rb
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/generator_spec_helper'
|
2
|
-
|
3
|
-
describe Rhogen::AppGenerator do
|
4
|
-
|
5
|
-
app_name = 'NeatApp'
|
6
|
-
|
7
|
-
it "should complain if no name is specified" do
|
8
|
-
lambda {
|
9
|
-
@generator = Rhogen::AppGenerator.new('/tmp', {})
|
10
|
-
}.should raise_error(::Templater::TooFewArgumentsError)
|
11
|
-
end
|
12
|
-
|
13
|
-
|
14
|
-
it "should generate class_name" do
|
15
|
-
@generator = Rhogen::AppGenerator.new('/tmp', {}, 'Class-With-Hyphens')
|
16
|
-
@generator.class_name.should == 'ClassWithHyphens'
|
17
|
-
end
|
18
|
-
|
19
|
-
before do
|
20
|
-
@generator = Rhogen::AppGenerator.new('/tmp', {}, app_name)
|
21
|
-
end
|
22
|
-
|
23
|
-
it "should create application.rb, index.erb, and layout.erb files" do
|
24
|
-
['application.rb', 'index.erb', 'layout.erb'].each do |template|
|
25
|
-
@generator.should create("/tmp/#{app_name}/#{template}")
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
it "should generate valid erb templates" do
|
30
|
-
pending "need to figure out how to validate erb"
|
31
|
-
end
|
32
|
-
|
33
|
-
end
|
data/spec/app_manifest.txt
DELETED
data/spec/configs/account.rb
DELETED
data/spec/configs/case.rb
DELETED
data/spec/configs/employee.rb
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
$:.push File.join(File.dirname(__FILE__), '..', 'lib')
|
2
|
-
|
3
|
-
require 'rubygems'
|
4
|
-
require 'spec'
|
5
|
-
require 'templater/spec/helpers'
|
6
|
-
|
7
|
-
$:.push File.join(File.dirname(__FILE__), '..', 'generators')
|
8
|
-
require 'rhogen'
|
9
|
-
|
10
|
-
Spec::Runner.configure do |config|
|
11
|
-
config.include Templater::Spec::Helpers
|
12
|
-
end
|
@@ -1,36 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/generator_spec_helper'
|
2
|
-
require 'fileutils'
|
3
|
-
|
4
|
-
describe Rhogen::ModelGenerator do
|
5
|
-
|
6
|
-
model_name = 'employee'
|
7
|
-
|
8
|
-
it "should complain if no name is specified" do
|
9
|
-
lambda {
|
10
|
-
@generator = Rhogen::ModelGenerator.new('/tmp', {})
|
11
|
-
}.should raise_error(::Templater::TooFewArgumentsError)
|
12
|
-
end
|
13
|
-
|
14
|
-
before do
|
15
|
-
@generator = Rhogen::ModelGenerator.new('/tmp', {}, model_name, "http://something.com/sources/5", 5, "name,industry,address")
|
16
|
-
end
|
17
|
-
|
18
|
-
it "should have attributes" do
|
19
|
-
@generator.attributes?.should == true
|
20
|
-
end
|
21
|
-
|
22
|
-
it "should have all attributes" do
|
23
|
-
@generator.attributes.should == ['name', 'industry', 'address']
|
24
|
-
end
|
25
|
-
|
26
|
-
it "should create config.rb, controller.rb, index.erb, edit.erb, and new.erb files" do
|
27
|
-
['config.rb', 'controller.rb', 'index.erb', 'edit.erb', 'new.erb', 'show.erb'].each do |template|
|
28
|
-
@generator.should create("/tmp/#{model_name.camel_case}/#{template}")
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
it "should generate valid erb templates" do
|
33
|
-
pending "need to figure out how to validate erb"
|
34
|
-
end
|
35
|
-
|
36
|
-
end
|
data/spec/rho_controller_spec.rb
DELETED
@@ -1,139 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# rho_controller_spec.rb
|
3
|
-
# rhodes
|
4
|
-
#
|
5
|
-
# Copyright (C) 2008 Lars Burgess. All rights reserved.
|
6
|
-
#
|
7
|
-
# This program is free software: you can redistribute it and/or modify
|
8
|
-
# it under the terms of the GNU General Public License as published by
|
9
|
-
# the Free Software Foundation, either version 3 of the License, or
|
10
|
-
# (at your option) any later version.
|
11
|
-
#
|
12
|
-
# This program is distributed in the hope that it will be useful,
|
13
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
15
|
-
# GNU General Public License for more details.
|
16
|
-
#
|
17
|
-
# You should have received a copy of the GNU General Public License
|
18
|
-
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
19
|
-
#
|
20
|
-
$:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
21
|
-
require File.dirname(__FILE__) + "/spec_helper"
|
22
|
-
require 'rho/rhocontroller'
|
23
|
-
|
24
|
-
describe "Rho" do
|
25
|
-
|
26
|
-
it_should_behave_like "rho initializer"
|
27
|
-
|
28
|
-
describe "url_for and link_to" do
|
29
|
-
|
30
|
-
before(:each) do
|
31
|
-
@c = Rho::RhoController.new
|
32
|
-
@c.stub!(:send).and_return(nil)
|
33
|
-
@c.serve(nil,{'application' => 'application', 'model' => 'model'},{})
|
34
|
-
end
|
35
|
-
|
36
|
-
it "should generate urls for empty params" do
|
37
|
-
@c.url_for().should == '/application/model'
|
38
|
-
end
|
39
|
-
|
40
|
-
it "should generate urls for a url" do
|
41
|
-
@c.url_for('/some_url').should == '/some_url'
|
42
|
-
end
|
43
|
-
|
44
|
-
it "should generate urls for a symbol" do
|
45
|
-
@c.url_for(:new).should == 'new'
|
46
|
-
end
|
47
|
-
|
48
|
-
it "should generate urls for an action" do
|
49
|
-
@c.url_for(:action => :new).should == '/application/model/new'
|
50
|
-
end
|
51
|
-
|
52
|
-
it "should generate urls for an action and id" do
|
53
|
-
@c.url_for(:action => :show, :id => '{12}').should == '/application/model/{12}/show'
|
54
|
-
end
|
55
|
-
|
56
|
-
it "should generate urls for create or index actions" do
|
57
|
-
@c.url_for(:action => :index, :id => '{12}').should == '/application/model'
|
58
|
-
@c.url_for(:action => :create).should == '/application/model'
|
59
|
-
end
|
60
|
-
|
61
|
-
it "should generate urls for an model, action, and id" do
|
62
|
-
@c.url_for(:model => 'another_model', :action => :show, :id => '{12}').should == '/application/another_model/{12}/show'
|
63
|
-
@c.url_for(:model => :another_model, :action => :show, :id => '{12}').should == '/application/another_model/{12}/show'
|
64
|
-
end
|
65
|
-
|
66
|
-
it "should generate urls for an application, model, action, and id" do
|
67
|
-
@c.url_for(:application => :another_app, :model => :another_model,
|
68
|
-
:action => :show, :id => '{12}').should == '/another_app/another_model/{12}/show'
|
69
|
-
end
|
70
|
-
|
71
|
-
it "should generate urls with a query" do
|
72
|
-
@c.url_for(:action => :create, :query => {:name => 'John Smith',
|
73
|
-
'address' => "http://john.smith.com"}).should == '/application/model?name=John%20Smith&address=http%3A%2F%2Fjohn.smith.com'
|
74
|
-
end
|
75
|
-
|
76
|
-
it "should generate urls with a fragment" do
|
77
|
-
@c.url_for(:action => :show, :id => '{12}', :fragment => "an-anchor").should == '/application/model/{12}/show#an-anchor'
|
78
|
-
end
|
79
|
-
|
80
|
-
it "should generate link for a url" do
|
81
|
-
@c.link_to("Visit Other Site", "http://www.rhomobile.com/").should == "<a href=\"http://www.rhomobile.com/\" >Visit Other Site</a>"
|
82
|
-
end
|
83
|
-
|
84
|
-
it "should generate link for an action" do
|
85
|
-
@c.link_to("Help", :action => "help").should == "<a href=\"/application/model/help\" >Help</a>"
|
86
|
-
end
|
87
|
-
|
88
|
-
it "should generate link for 'delete' action" do
|
89
|
-
@c.link_to("Delete", :action => "delete", :id => '{12}').should == "<a href=\"/application/model/{12}/delete\" onclick=\"var f = document.createElement('form'); f.style.display = 'none';this.parentNode.appendChild(f); f.method = 'POST'; f.action = this.href;f.submit();return false;\">Delete</a>"
|
90
|
-
end
|
91
|
-
|
92
|
-
it "should generate link for an action and style it" do
|
93
|
-
@c.link_to("Show", { :action => "show", :id => '{12}'},"style=\"height:4px;width:7px;border-width:0px;\"").should == "<a href=\"/application/model/{12}/show\" style=\"height:4px;width:7px;border-width:0px;\">Show</a>"
|
94
|
-
end
|
95
|
-
|
96
|
-
it "should generate link for 'delete' action and style it" do
|
97
|
-
@c.link_to("Delete", { :action => "delete", :id => '{12}' }, "class=\"delete_link\"").should == "<a href=\"/application/model/{12}/delete\" class=\"delete_link\" onclick=\"var f = document.createElement('form'); f.style.display = 'none';this.parentNode.appendChild(f); f.method = 'POST'; f.action = this.href;f.submit();return false;\">Delete</a>"
|
98
|
-
end
|
99
|
-
|
100
|
-
it "should generate link with a query" do
|
101
|
-
@c.link_to("Invate",:action => :invite, :query => {:name => 'John Smith', 'address' => "http://john.smith.com"}).should == "<a href=\"/application/model/invite?name=John%20Smith&address=http%3A%2F%2Fjohn.smith.com\" >Invate</a>"
|
102
|
-
end
|
103
|
-
|
104
|
-
end #describe "url_for and link_to"
|
105
|
-
|
106
|
-
describe "redirect" do
|
107
|
-
|
108
|
-
before(:each) do
|
109
|
-
@response = Hash.new
|
110
|
-
@response['headers'] = {}
|
111
|
-
@c = Rho::RhoController.new
|
112
|
-
@c.stub!(:send).and_return(nil)
|
113
|
-
@c.serve(nil,{'application' => 'application', 'model' => 'model'},@response)
|
114
|
-
end
|
115
|
-
|
116
|
-
it "should redirect to a url" do
|
117
|
-
@c.redirect "/start-page"
|
118
|
-
@response['headers']['Location'].should == "/start-page"
|
119
|
-
@response['status'].should == 302
|
120
|
-
@response['message'].should == 'Moved temporarily'
|
121
|
-
end
|
122
|
-
|
123
|
-
it "should redirect to an action" do
|
124
|
-
@c.redirect :action => :show, :id => '{12}'
|
125
|
-
@response['headers']['Location'].should == "/application/model/{12}/show"
|
126
|
-
@response['status'].should == 302
|
127
|
-
@response['message'].should == 'Moved temporarily'
|
128
|
-
end
|
129
|
-
|
130
|
-
it "should redirect to an action with 301 status code and status message" do
|
131
|
-
@c.redirect({:action => :show, :id => '{12}'}, {'status' => 301, 'message' => 'Moved permanently'})
|
132
|
-
@response['headers']['Location'].should == "/application/model/{12}/show"
|
133
|
-
@response['status'].should == 301
|
134
|
-
@response['message'].should == 'Moved permanently'
|
135
|
-
end
|
136
|
-
|
137
|
-
end #describe "redirect"
|
138
|
-
|
139
|
-
end
|
data/spec/rho_spec.rb
DELETED
@@ -1,61 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# rho_spec.rb
|
3
|
-
# rhodes
|
4
|
-
#
|
5
|
-
# Copyright (C) 2008 Lars Burgess. All rights reserved.
|
6
|
-
#
|
7
|
-
# This program is free software: you can redistribute it and/or modify
|
8
|
-
# it under the terms of the GNU General Public License as published by
|
9
|
-
# the Free Software Foundation, either version 3 of the License, or
|
10
|
-
# (at your option) any later version.
|
11
|
-
#
|
12
|
-
# This program is distributed in the hope that it will be useful,
|
13
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
15
|
-
# GNU General Public License for more details.
|
16
|
-
#
|
17
|
-
# You should have received a copy of the GNU General Public License
|
18
|
-
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
19
|
-
#
|
20
|
-
$:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
21
|
-
require File.dirname(__FILE__) + "/spec_helper"
|
22
|
-
|
23
|
-
describe "Rho" do
|
24
|
-
|
25
|
-
it_should_behave_like "rho initializer"
|
26
|
-
it_should_behave_like "rho db initializer"
|
27
|
-
|
28
|
-
it "should populate configuration in sources table" do
|
29
|
-
sources = Rhom::RhomDbAdapter::select_from_table('sources','*')
|
30
|
-
sources.size.should > 1
|
31
|
-
end
|
32
|
-
|
33
|
-
it "should initialize configuration only once" do
|
34
|
-
Rhom::RhomDbAdapter::delete_all_from_table('sources')
|
35
|
-
@rho.source_initialized?(1).should == false
|
36
|
-
@rho.init_sources
|
37
|
-
@rho.source_initialized?(1).should == true
|
38
|
-
end
|
39
|
-
|
40
|
-
it "should have start_path" do
|
41
|
-
Rho::RhoConfig.start_path.should == '/'
|
42
|
-
end
|
43
|
-
|
44
|
-
it "should set start_path" do
|
45
|
-
Rho::RhoConfig.start_path = '/foo/bar'
|
46
|
-
Rho::RhoConfig.start_path.should == '/foo/bar'
|
47
|
-
end
|
48
|
-
|
49
|
-
it "should retrieve start_path" do
|
50
|
-
Rho::RhoConfig.start_path = '/'
|
51
|
-
@rho.get_start_path.should == '/'
|
52
|
-
end
|
53
|
-
|
54
|
-
it "should return from get_app" do
|
55
|
-
pending "fix relative paths for testing of get_app"
|
56
|
-
end
|
57
|
-
|
58
|
-
it "should serve request" do
|
59
|
-
pending "need to mock request"
|
60
|
-
end
|
61
|
-
end
|
@@ -1,132 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# rhom_object_factory_spec.rb
|
3
|
-
# rhodes
|
4
|
-
#
|
5
|
-
# Copyright (C) 2008 Lars Burgess. All rights reserved.
|
6
|
-
#
|
7
|
-
# This program is free software: you can redistribute it and/or modify
|
8
|
-
# it under the terms of the GNU General Public License as published by
|
9
|
-
# the Free Software Foundation, either version 3 of the License, or
|
10
|
-
# (at your option) any later version.
|
11
|
-
# This program is distributed in the hope that it will be useful,
|
12
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
|
-
# GNU General Public License for more details.
|
15
|
-
#
|
16
|
-
# You should have received a copy of the GNU General Public License
|
17
|
-
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
18
|
-
#
|
19
|
-
require File.dirname(__FILE__) + "/spec_helper"
|
20
|
-
|
21
|
-
describe "RhomObjectFactory" do
|
22
|
-
|
23
|
-
it_should_behave_like "rho initializer"
|
24
|
-
it_should_behave_like "rho db initializer"
|
25
|
-
|
26
|
-
it "should set source_id attributes" do
|
27
|
-
Account.get_source_id.should == "1"
|
28
|
-
Case.get_source_id.should == "2"
|
29
|
-
Employee.get_source_id.should == "3"
|
30
|
-
end
|
31
|
-
|
32
|
-
it "should dynamically assign values" do
|
33
|
-
account = Account.new
|
34
|
-
account.name = 'hello name'
|
35
|
-
account.industry = 'hello industry'
|
36
|
-
account.object = '3560c0a0-ef58-2f40-68a5-fffffffffffff'
|
37
|
-
account.value = 'xyz industries'
|
38
|
-
account.name.should == 'hello name'
|
39
|
-
account.industry.should == 'hello industry'
|
40
|
-
account.object.should == '3560c0a0-ef58-2f40-68a5-fffffffffffff'
|
41
|
-
account.value.should == 'xyz industries'
|
42
|
-
end
|
43
|
-
|
44
|
-
it "should retrieve Case models" do
|
45
|
-
results = Case.find(:all)
|
46
|
-
results.length.should == 7
|
47
|
-
results[0].case_number.should == "57"
|
48
|
-
results[4].name.should == "implement SugarCRM sample app"
|
49
|
-
end
|
50
|
-
|
51
|
-
it "should retrieve Account models" do
|
52
|
-
results = Account.find(:all)
|
53
|
-
results.length.should == 5
|
54
|
-
results[0].name.should == "vSpring"
|
55
|
-
results[0].industry.should == "Finance"
|
56
|
-
results[1].name.should == "Rhomobile"
|
57
|
-
results[1].industry.should == "Technology"
|
58
|
-
results[4].industry.should == "Technology"
|
59
|
-
results[4].name.should == "Mobio India"
|
60
|
-
end
|
61
|
-
|
62
|
-
it "should have correct number of attributes" do
|
63
|
-
@account = Account.find(:all).first
|
64
|
-
|
65
|
-
@account.instance_variables.size.should == 36
|
66
|
-
end
|
67
|
-
|
68
|
-
it "should calculate same djb_hash" do
|
69
|
-
vars = {"name"=>"foobarthree", "industry"=>"entertainment"}
|
70
|
-
account = Account.new(vars)
|
71
|
-
account.object.should == "272128608299468889014"
|
72
|
-
end
|
73
|
-
|
74
|
-
it "should create a record" do
|
75
|
-
vars = {"name"=>"some new record", "industry"=>"electronices"}
|
76
|
-
@account1 = Account.new(vars)
|
77
|
-
new_id = @account1.object
|
78
|
-
@account1.save
|
79
|
-
@account2 = Account.find(new_id)
|
80
|
-
@account2.object.should =="{#{@account1.object}}"
|
81
|
-
@account2.name.should == vars['name']
|
82
|
-
@account2.industry.should == vars['industry']
|
83
|
-
end
|
84
|
-
|
85
|
-
it "should destroy a record" do
|
86
|
-
count = Account.find(:all).size
|
87
|
-
@account = Account.find(:all)[0]
|
88
|
-
destroy_id = @account.object
|
89
|
-
@account.destroy
|
90
|
-
@account_nil = Account.find(destroy_id)
|
91
|
-
@account_nil.size.should == 0
|
92
|
-
new_count = Account.find(:all).size
|
93
|
-
(count - 1).should == new_count
|
94
|
-
end
|
95
|
-
|
96
|
-
it "should partially update a record" do
|
97
|
-
new_attributes = {"name"=>"Mobio US"}
|
98
|
-
@account = Account.find("44e804f2-4933-4e20-271c-48fcecd9450d")
|
99
|
-
@account.update_attributes(new_attributes)
|
100
|
-
@new_acct = Account.find("44e804f2-4933-4e20-271c-48fcecd9450d")
|
101
|
-
@new_acct.name.should == "Mobio US"
|
102
|
-
@new_acct.industry.should == "Technology"
|
103
|
-
end
|
104
|
-
|
105
|
-
it "should fully update a record" do
|
106
|
-
new_attributes = {"name"=>"Mobio US", "industry"=>"Electronics"}
|
107
|
-
@account = Account.find(:all).first
|
108
|
-
@account.update_attributes(new_attributes)
|
109
|
-
|
110
|
-
@new_acct = Account.find(:all).first
|
111
|
-
|
112
|
-
@new_acct.name.should == "Mobio US"
|
113
|
-
@new_acct.industry.should == "Electronics"
|
114
|
-
end
|
115
|
-
|
116
|
-
it "should retrieve and modify one record" do
|
117
|
-
@acct = Account.find('44e804f2-4933-4e20-271c-48fcecd9450d')
|
118
|
-
|
119
|
-
@acct.name.should == "Mobio US"
|
120
|
-
@acct.industry.should == "Technology"
|
121
|
-
|
122
|
-
@acct.name = "Rhomobile US"
|
123
|
-
|
124
|
-
@acct.name.should == "Rhomobile US"
|
125
|
-
end
|
126
|
-
|
127
|
-
it "should return an empty value for a non-existent attribute" do
|
128
|
-
@acct = Account.find('44e804f2-4933-4e20-271c-48fcecd9450d')
|
129
|
-
|
130
|
-
@acct.foobar.should be_nil
|
131
|
-
end
|
132
|
-
end
|
data/spec/rhom_spec.rb
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# rhom_spec.rb
|
3
|
-
# rhodes
|
4
|
-
#
|
5
|
-
# Copyright (C) 2008 Lars Burgess. All rights reserved.
|
6
|
-
#
|
7
|
-
# This program is free software: you can redistribute it and/or modify
|
8
|
-
# it under the terms of the GNU General Public License as published by
|
9
|
-
# the Free Software Foundation, either version 3 of the License, or
|
10
|
-
# (at your option) any later version.
|
11
|
-
#
|
12
|
-
# This program is distributed in the hope that it will be useful,
|
13
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
15
|
-
# GNU General Public License for more details.
|
16
|
-
#
|
17
|
-
# You should have received a copy of the GNU General Public License
|
18
|
-
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
19
|
-
#
|
20
|
-
$:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
21
|
-
require File.dirname(__FILE__) + "/spec_helper"
|
22
|
-
|
23
|
-
describe "Rhom" do
|
24
|
-
|
25
|
-
it_should_behave_like "rho initializer"
|
26
|
-
it_should_behave_like "rho db initializer"
|
27
|
-
|
28
|
-
it "should get client_id" do
|
29
|
-
Rhom::Rhom::client_id.should == '67320d31-e42e-4156-af91-5d9bd7175b08'
|
30
|
-
end
|
31
|
-
|
32
|
-
it "should perform full reset of database" do
|
33
|
-
Rhom::Rhom::database_full_reset
|
34
|
-
Rhom::RhomDbAdapter::select_from_table('object_values','*').length.should == 0
|
35
|
-
Rhom::RhomDbAdapter::select_from_table('client_info','*').length.should == 0
|
36
|
-
Rhom::Rhom::client_id.should be_nil
|
37
|
-
end
|
38
|
-
|
39
|
-
it "should perform full database reset and logout" do
|
40
|
-
Rhom::Rhom::database_full_reset_and_logout
|
41
|
-
Rhom::RhomDbAdapter::select_from_table('object_values','*').length.should == 0
|
42
|
-
Rhom::RhomDbAdapter::select_from_table('client_info','*').length.should == 0
|
43
|
-
Rhom::Rhom::client_id.should be_nil
|
44
|
-
end
|
45
|
-
end
|