Skip to content
This repository was archived by the owner on Sep 30, 2018. It is now read-only.

Commit 65d29e6

Browse files
committedNov 29, 2013
Tidy up more specs
1 parent b5a3bbc commit 65d29e6

File tree

6 files changed

+37
-49
lines changed

6 files changed

+37
-49
lines changed
 

Diff for: ‎spec/model/as_json_spec.rb

+11-14
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,28 @@
11
require 'spec_helper'
22

3-
class AsJsonSpec < Vienna::Model
4-
attributes :first_name, :last_name
5-
end
6-
73
describe Vienna::Model do
8-
9-
let(:model) { AsJsonSpec.new }
10-
114
describe "#as_json" do
5+
let(:model) { User.new }
6+
127
it "returns a hash" do
13-
model.as_json.should be_kind_of(Hash)
8+
expect(model.as_json).to be_kind_of(Hash)
149
end
1510

1611
it "contains all attributes on model" do
17-
model.as_json.should == { "first_name" => nil, "last_name" => nil }
12+
expect(model.as_json).to eq({ "foo" => nil, "bar" => nil, "baz" => nil })
13+
14+
model.foo = "Adam"
15+
expect(model.as_json).to eq({ "foo" => "Adam", "bar" => nil, "baz" => nil })
1816

19-
model.first_name = "Adam"
20-
model.as_json.should eq({ "first_name" => "Adam", "last_name" => nil })
17+
model.bar = "Beynon"
2118

22-
model.last_name = "Beynon"
23-
model.as_json.should eq({ "first_name" => "Adam", "last_name" => "Beynon" })
19+
expect(model.as_json).to eq({ "foo" => "Adam", "bar" => "Beynon", "baz" => nil })
2420
end
2521

2622
it "includes the id, if set" do
2723
model.id = 42
28-
model.as_json.should eq({ "id" => 42, "first_name" => nil, "last_name" => nil })
24+
25+
expect(model.as_json).to eq({ "id" => 42, "foo" => nil, "bar" => nil, "baz" => nil })
2926
end
3027
end
3128
end

Diff for: ‎spec/model/attribute_spec.rb

+5-10
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,21 @@
11
require "spec_helper"
22

3-
class ModelAttributeSpec < Vienna::Model
4-
attribute :first_name
5-
end
6-
73
describe Vienna::Model do
84
describe ".attribute" do
9-
10-
let(:model) { ModelAttributeSpec.new }
5+
let(:model) { User.new }
116

127
it "should create a reader method for attribute" do
13-
model.should respond_to(:first_name)
8+
expect(model).to respond_to(:foo)
149
end
1510

1611
it "should create a writer method for attribute" do
17-
model.should respond_to(:first_name=)
12+
expect(model).to respond_to(:foo=)
1813
end
1914

2015
describe "writer" do
2116
it "sets value on model" do
22-
model.first_name = "Tommy"
23-
model.first_name.should eq("Tommy")
17+
model.foo = 'Tommy'
18+
expect(model.foo).to eq('Tommy')
2419
end
2520
end
2621
end

Diff for: ‎spec/model/initialize_spec.rb

+15-19
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,42 @@
11
require "spec_helper"
22

3-
class ModelInitializeSpec < Vienna::Model
4-
attributes :foo, :bar, :baz
5-
end
6-
73
describe Vienna::Model do
84
describe "#initialize" do
95
it "should have all nil values for attributes when passed no attrs" do
10-
model = ModelInitializeSpec.new
6+
model = User.new
117

12-
model.foo.should be_nil
13-
model.bar.should be_nil
14-
model.baz.should be_nil
8+
expect(model.foo).to be_nil
9+
expect(model.bar).to be_nil
10+
expect(model.baz).to be_nil
1511
end
1612

1713
it "should set a given value for a given attributes" do
18-
model = ModelInitializeSpec.new foo: 3.142
14+
model = User.new foo: 3.142
1915

20-
model.foo.should eq(3.142)
21-
model.bar.should be_nil
22-
model.baz.should be_nil
16+
expect(model.foo).to eq(3.142)
17+
expect(model.bar).to be_nil
18+
expect(model.baz).to be_nil
2319
end
2420

2521
it "should be able to set many attributes" do
26-
model = ModelInitializeSpec.new foo: 'hello', bar: 'world', baz: 42
22+
model = User.new foo: 'hello', bar: 'world', baz: 42
2723

28-
model.foo.should eq('hello')
29-
model.bar.should eq('world')
30-
model.baz.should eq(42)
24+
expect(model.foo).to eq('hello')
25+
expect(model.bar).to eq('world')
26+
expect(model.baz).to eq(42)
3127
end
3228

3329
it "creates @attributes as an empty hash" do
34-
model = ModelInitializeSpec.new
30+
model = User.new
3531
model.instance_variable_get(:@attributes).should eq({})
3632
end
3733

3834
it "marks the model as being a new record" do
39-
ModelInitializeSpec.new.should be_new_record
35+
expect(User.new).to be_new_record
4036
end
4137

4238
it "marks the model as not being loaded" do
43-
ModelInitializeSpec.new.should_not be_loaded
39+
expect(User.new).to_not be_loaded
4440
end
4541
end
4642
end

Diff for: ‎spec/model/load_spec.rb

+2-3
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,16 @@
22

33
describe Vienna::Model do
44
describe "#load" do
5-
65
let(:model) { SimpleModel.new }
76

87
it "marks the model instance as loaded" do
98
model.load({})
10-
model.should be_loaded
9+
expect(model).to be_loaded
1110
end
1211

1312
it "marks the model as not being a new record" do
1413
model.load({})
15-
model.should_not be_new_record
14+
expect(model).to_not be_new_record
1615
end
1716
end
1817
end

Diff for: ‎spec/model/persistence_spec.rb

-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
require 'spec_helper'
22

33
describe Vienna::Model do
4-
5-
before { SimpleModel.reset! }
6-
74
let(:model) { SimpleModel.new }
85

96
describe "#did_destroy" do

Diff for: ‎spec/spec_helper.rb

+4
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ class SimpleModel < Vienna::Model
88
attribute :name
99
end
1010

11+
class User < Vienna::Model
12+
attributes :foo, :bar, :baz
13+
end
14+
1115
class AdvancedModel < Vienna::Model
1216
primary_key :title
1317
end

0 commit comments

Comments
 (0)
This repository has been archived.