master
1require "rails_helper"
2
3
4describe Tool do
5
6 it "has a name" do
7 tool = Tool.new
8 tool.name = "wilton pan"
9 expect(tool.name).to eql("wilton pan")
10 end
11
12 it "has a description" do
13 tool = Tool.new
14 tool.description = "This pan can be used to make round cakes"
15 expect(tool.description).to eql("This pan can be used to make round cakes")
16 end
17
18 it "has an ASIN" do
19 tool = Tool.new
20 tool.asin = "223455"
21 expect(tool.asin).to eql("223455")
22 end
23
24 it "saves to the database" do
25 tool = Tool.new
26 tool.asin = "223455"
27 tool.description = "This pan can be used to make round cakes"
28 tool.name = "wilton pan"
29 tool.save
30 tool.reload
31 expect(tool.name).to eql("wilton pan")
32 expect(tool.description).to eql("This pan can be used to make round cakes")
33 expect(tool.asin).to eql("223455")
34 end
35
36 context "#validation" do
37 let(:tool) { build(:tool) }
38
39 it "has to have a name" do
40 tool.name = nil
41 expect(tool).to_not be_valid
42 expect(tool.errors[:name]).to_not be_empty
43 end
44
45 it "name has to be unique" do
46 create(:tool, name: 'blah')
47 tool.name = 'blah'
48
49 expect(tool).to_not be_valid
50 expect(tool.errors[:name]).to_not be_empty
51 end
52
53 it "has a ASIN number" do
54 tool.asin = nil
55 expect(tool).to_not be_valid
56 expect(tool.errors[:asin]).to_not be_empty
57 end
58
59 it "validates" do
60 expect(tool).to be_valid
61 end
62 end
63end