Commit 9a1ad6b5566d45dae346a96be91f71ff4eddb708
1 parent
8afb5c2f
Exists in
master
and in
1 other branch
Add body and title vadation to issue model
Showing
2 changed files
with
32 additions
and
2 deletions
Show diff stats
app/models/issue.rb
@@ -7,6 +7,16 @@ class Issue | @@ -7,6 +7,16 @@ class Issue | ||
7 | end | 7 | end |
8 | 8 | ||
9 | def save | 9 | def save |
10 | + unless body | ||
11 | + errors.add :base, "The issue has no body" | ||
12 | + return false | ||
13 | + end | ||
14 | + | ||
15 | + unless title | ||
16 | + errors.add :base, "The issue has no title" | ||
17 | + return false | ||
18 | + end | ||
19 | + | ||
10 | if issue_tracker | 20 | if issue_tracker |
11 | issue_tracker.tracker.errors.each do |k, err| | 21 | issue_tracker.tracker.errors.each do |k, err| |
12 | errors.add k, err | 22 | errors.add k, err |
spec/models/issue_spec.rb
@@ -28,15 +28,35 @@ describe Issue, type: 'model' do | @@ -28,15 +28,35 @@ describe Issue, type: 'model' do | ||
28 | end | 28 | end |
29 | 29 | ||
30 | context "when has no title" do | 30 | context "when has no title" do |
31 | + let(:title) { nil } | ||
31 | let(:body) { "barrr" } | 32 | let(:body) { "barrr" } |
32 | 33 | ||
33 | - pending "returns an error" | 34 | + context "#save" do |
35 | + it "returns false" do | ||
36 | + expect(issue.save).to be false | ||
37 | + end | ||
38 | + | ||
39 | + it "returns an error" do | ||
40 | + issue.save | ||
41 | + expect(errors).to include("The issue has no title") | ||
42 | + end | ||
43 | + end | ||
34 | end | 44 | end |
35 | 45 | ||
36 | context "when has no body" do | 46 | context "when has no body" do |
37 | let(:title) { "Foo" } | 47 | let(:title) { "Foo" } |
48 | + let(:body) { nil } | ||
38 | 49 | ||
39 | - pending "returns an error" | 50 | + context "#save" do |
51 | + it "returns false" do | ||
52 | + expect(issue.save).to be false | ||
53 | + end | ||
54 | + | ||
55 | + it "returns an error" do | ||
56 | + issue.save | ||
57 | + expect(errors).to include("The issue has no body") | ||
58 | + end | ||
59 | + end | ||
40 | end | 60 | end |
41 | 61 | ||
42 | context "when app has a issue tracker" do | 62 | context "when app has a issue tracker" do |