Skip to content

Commit

Permalink
Closes #6: Creates 'benefit_type' modle
Browse files Browse the repository at this point in the history
Why:

* Provide model for Benefit Types

This change addresses the need by:

* Creating the 'benefit_type' model
* Creating the 'benefit_type' factory
* Creating the 'benefit_type' spec
  • Loading branch information
randalhumphries committed Feb 27, 2018
1 parent aa222a4 commit cacb5c3
Show file tree
Hide file tree
Showing 7 changed files with 312 additions and 8 deletions.
3 changes: 3 additions & 0 deletions app/models/benefit_type.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
class BenefitType < ApplicationRecord
validates :name, :eligibility_interval, :eligibility_interval_unit, presence: true
end
33 changes: 31 additions & 2 deletions coverage/.resultset.json
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,15 @@
null,
null
],
"/Users/randal/Projects/hr_app/spec/factories/benefit_types.rb": [
1,
1,
1,
1,
1,
null,
null
],
"/Users/randal/Projects/hr_app/spec/factories/companies.rb": [
1,
1,
Expand Down Expand Up @@ -235,7 +244,7 @@
1,
null
],
"/Users/randal/Projects/hr_app/app/models/company.rb": [
"/Users/randal/Projects/hr_app/app/models/benefit_type.rb": [
1,
1,
null
Expand All @@ -245,6 +254,26 @@
1,
null
],
"/Users/randal/Projects/hr_app/spec/models/company_spec.rb": [
1,
null,
1,
null,
1,
1,
null,
null,
1,
1,
null,
null,
null
],
"/Users/randal/Projects/hr_app/app/models/company.rb": [
1,
1,
null
],
"/Users/randal/Projects/hr_app/spec/models/contact_type_spec.rb": [
1,
null,
Expand Down Expand Up @@ -398,6 +427,6 @@
null
]
},
"timestamp": 1519749065
"timestamp": 1519769432
}
}
235 changes: 230 additions & 5 deletions coverage/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<img src="./assets/0.10.2/loading.gif" alt="loading"/>
</div>
<div id="wrapper" style="display:none;">
<div class="timestamp">Generated <abbr class="timeago" title="2018-02-27T11:31:05-05:00">2018-02-27T11:31:05-05:00</abbr></div>
<div class="timestamp">Generated <abbr class="timeago" title="2018-02-27T17:10:32-05:00">2018-02-27T17:10:32-05:00</abbr></div>
<ul class="group_tabs"></ul>

<div id="content">
Expand All @@ -25,15 +25,15 @@ <h2>
covered at
<span class="covered_strength">
<span class="green">
1.33
1.3
</span>
</span> hits/line)
</h2>
<a name="AllFiles"></a>
<div>
<b>36</b> files in total.
<b>129</b> relevant lines.
<span class="green"><b>129</b> lines covered</span> and
<b>39</b> files in total.
<b>142</b> relevant lines.
<span class="green"><b>142</b> lines covered</span> and
<span class="red"><b>0</b> lines missed </span>
</div>
<table class="file_list">
Expand Down Expand Up @@ -70,6 +70,16 @@ <h2>
<td>1.0</td>
</tr>

<tr>
<td class="strong"><a href="#ba3ad896ef4f4560d5d4d2400584ed5ab62c8711" class="src_link" title="app/models/benefit_type.rb">app/models/benefit_type.rb</a></td>
<td class="green strong">100.0 %</td>
<td>3</td>
<td>2</td>
<td>2</td>
<td>0</td>
<td>1.0</td>
</tr>

<tr>
<td class="strong"><a href="#6e31fe4bf70c38bb7f6147db7dd8f5a51d04bdc1" class="src_link" title="app/models/company.rb">app/models/company.rb</a></td>
<td class="green strong">100.0 %</td>
Expand Down Expand Up @@ -270,6 +280,16 @@ <h2>
<td>1.0</td>
</tr>

<tr>
<td class="strong"><a href="#e54e06fde6c995a410d3bce3ba35ecccd3bb2125" class="src_link" title="spec/factories/benefit_types.rb">spec/factories/benefit_types.rb</a></td>
<td class="green strong">100.0 %</td>
<td>7</td>
<td>5</td>
<td>5</td>
<td>0</td>
<td>1.0</td>
</tr>

<tr>
<td class="strong"><a href="#40e29c84d73926b19d6d20d4a0eb5c65daf3b294" class="src_link" title="spec/factories/companies.rb">spec/factories/companies.rb</a></td>
<td class="green strong">100.0 %</td>
Expand Down Expand Up @@ -340,6 +360,16 @@ <h2>
<td>1.0</td>
</tr>

<tr>
<td class="strong"><a href="#3ce94d9c93bcb0e6efa0554023d1f148c87f51a9" class="src_link" title="spec/models/company_spec.rb">spec/models/company_spec.rb</a></td>
<td class="green strong">100.0 %</td>
<td>13</td>
<td>6</td>
<td>6</td>
<td>0</td>
<td>1.0</td>
</tr>

<tr>
<td class="strong"><a href="#a28f22dfe657ea500a91df50ce8119d144fd29a1" class="src_link" title="spec/models/contact_type_spec.rb">spec/models/contact_type_spec.rb</a></td>
<td class="green strong">100.0 %</td>
Expand Down Expand Up @@ -494,6 +524,43 @@ <h4><span class="green">100.0 %</span> covered</h4>
</div>


<div class="source_table" id="ba3ad896ef4f4560d5d4d2400584ed5ab62c8711">
<div class="header">
<h3>app/models/benefit_type.rb</h3>
<h4><span class="green">100.0 %</span> covered</h4>
<div>
<b>2</b> relevant lines.
<span class="green"><b>2</b> lines covered</span> and
<span class="red"><b>0</b> lines missed.</span>
</div>
</div>

<pre>
<ol>

<li class="covered" data-hits="1" data-linenumber="1">
<span class="hits">1</span>

<code class="ruby">class BenefitType &lt; ApplicationRecord</code>
</li>

<li class="covered" data-hits="1" data-linenumber="2">
<span class="hits">1</span>

<code class="ruby"> validates :name, :eligibility_interval, :eligibility_interval_unit, presence: true</code>
</li>

<li class="never" data-hits="" data-linenumber="3">


<code class="ruby">end</code>
</li>

</ol>
</pre>
</div>


<div class="source_table" id="6e31fe4bf70c38bb7f6147db7dd8f5a51d04bdc1">
<div class="header">
<h3>app/models/company.rb</h3>
Expand Down Expand Up @@ -1972,6 +2039,67 @@ <h4><span class="green">100.0 %</span> covered</h4>
</div>


<div class="source_table" id="e54e06fde6c995a410d3bce3ba35ecccd3bb2125">
<div class="header">
<h3>spec/factories/benefit_types.rb</h3>
<h4><span class="green">100.0 %</span> covered</h4>
<div>
<b>5</b> relevant lines.
<span class="green"><b>5</b> lines covered</span> and
<span class="red"><b>0</b> lines missed.</span>
</div>
</div>

<pre>
<ol>

<li class="covered" data-hits="1" data-linenumber="1">
<span class="hits">1</span>

<code class="ruby">FactoryBot.define do</code>
</li>

<li class="covered" data-hits="1" data-linenumber="2">
<span class="hits">1</span>

<code class="ruby"> factory :benefit_type do</code>
</li>

<li class="covered" data-hits="1" data-linenumber="3">
<span class="hits">1</span>

<code class="ruby"> name &quot;401k&quot;</code>
</li>

<li class="covered" data-hits="1" data-linenumber="4">
<span class="hits">1</span>

<code class="ruby"> eligibility_interval 6</code>
</li>

<li class="covered" data-hits="1" data-linenumber="5">
<span class="hits">1</span>

<code class="ruby"> eligibility_interval_unit &quot;months&quot;</code>
</li>

<li class="never" data-hits="" data-linenumber="6">


<code class="ruby"> end</code>
</li>

<li class="never" data-hits="" data-linenumber="7">


<code class="ruby">end</code>
</li>

</ol>
</pre>
</div>


<div class="source_table" id="40e29c84d73926b19d6d20d4a0eb5c65daf3b294">
<div class="header">
<h3>spec/factories/companies.rb</h3>
Expand Down Expand Up @@ -2357,6 +2485,103 @@ <h4><span class="green">100.0 %</span> covered</h4>
</div>


<div class="source_table" id="3ce94d9c93bcb0e6efa0554023d1f148c87f51a9">
<div class="header">
<h3>spec/models/company_spec.rb</h3>
<h4><span class="green">100.0 %</span> covered</h4>
<div>
<b>6</b> relevant lines.
<span class="green"><b>6</b> lines covered</span> and
<span class="red"><b>0</b> lines missed.</span>
</div>
</div>

<pre>
<ol>

<li class="covered" data-hits="1" data-linenumber="1">
<span class="hits">1</span>

<code class="ruby">require &#39;rails_helper&#39;</code>
</li>

<li class="never" data-hits="" data-linenumber="2">


<code class="ruby"></code>
</li>

<li class="covered" data-hits="1" data-linenumber="3">
<span class="hits">1</span>

<code class="ruby">RSpec.describe Company, type: :model do</code>
</li>

<li class="never" data-hits="" data-linenumber="4">


<code class="ruby"> </code>
</li>

<li class="covered" data-hits="1" data-linenumber="5">
<span class="hits">1</span>

<code class="ruby"> it &#39;is valid with valid attributes&#39; do</code>
</li>

<li class="covered" data-hits="1" data-linenumber="6">
<span class="hits">1</span>

<code class="ruby"> expect(build(:company)).to be_valid</code>
</li>

<li class="never" data-hits="" data-linenumber="7">


<code class="ruby"> end</code>
</li>

<li class="never" data-hits="" data-linenumber="8">


<code class="ruby"></code>
</li>

<li class="covered" data-hits="1" data-linenumber="9">
<span class="hits">1</span>

<code class="ruby"> it &#39;is not valid without a name&#39; do</code>
</li>

<li class="covered" data-hits="1" data-linenumber="10">
<span class="hits">1</span>

<code class="ruby"> expect(build(:company, name: nil)).not_to be_valid</code>
</li>

<li class="never" data-hits="" data-linenumber="11">


<code class="ruby"> end</code>
</li>

<li class="never" data-hits="" data-linenumber="12">


<code class="ruby"></code>
</li>

<li class="never" data-hits="" data-linenumber="13">


<code class="ruby">end</code>
</li>

</ol>
</pre>
</div>


<div class="source_table" id="a28f22dfe657ea500a91df50ce8119d144fd29a1">
<div class="header">
<h3>spec/models/contact_type_spec.rb</h3>
Expand Down
11 changes: 11 additions & 0 deletions db/migrate/20180227220035_create_benefit_types.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
class CreateBenefitTypes < ActiveRecord::Migration[5.1]
def change
create_table :benefit_types do |t|
t.string :name
t.integer :eligibility_interval
t.string :eligibility_interval_unit

t.timestamps
end
end
end
10 changes: 9 additions & 1 deletion db/schema.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,19 @@
#
# It's strongly recommended that you check this file into your version control system.

ActiveRecord::Schema.define(version: 20180227154741) do
ActiveRecord::Schema.define(version: 20180227220035) do

# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"

create_table "benefit_types", force: :cascade do |t|
t.string "name"
t.integer "eligibility_interval"
t.string "eligibility_interval_unit"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end

create_table "companies", force: :cascade do |t|
t.string "name"
t.datetime "created_at", null: false
Expand Down
Loading

0 comments on commit cacb5c3

Please sign in to comment.