1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
require "spec_helper"
describe "companies/:company_id/licenses" do
let!(:company) { Company.create(name: 'ABC Resources Ltd.') }
let!(:user) { User.create(company: company) }
let!(:township_1) { Location.create(latitude: 51.06, longitude: -114.09, township: '1') }
let!(:township_2) { Location.create(latitude: 91.06, longitude: -14.09, township: '2') }
let!(:well_type) { WellType::DEV }
let!(:active_license) { License.create(id: SecureRandom.uuid, company: company, applicant: user, location: township_1, issued_at: 2.days.ago, expired_at: 1.day.from_now, well_type: well_type) }
let!(:expired_license) { License.create(id: SecureRandom.uuid, company: company, applicant: user, location: township_2, issued_at: 2.days.ago, expired_at: 1.day.ago, well_type: well_type) }
let!(:confidential_license) { License.create(id: SecureRandom.uuid, company: company, applicant: user, location: township_1, issued_at: 2.days.ago, expired_at: 1.day.from_now, well_type: well_type, confidential: true) }
describe "companies/:company_id/licenses" do
it "returns all active licenses" do
get "v1/companies/#{company.id}/licenses"
response.should be_success
result = JSON.parse(response.body)
result["licenses"].first["id"].should == active_license.id
result["licenses"].first["issued_at"].should == active_license.issued_at.to_s
result["licenses"].first["expired_at"].should == active_license.expired_at.to_s
result["licenses"].first["company"]["name"].should == active_license.company.name
result["licenses"].first["well_type"]["id"].should == well_type.id
result["licenses"].first["well_type"]["acronym"].should == well_type.acronym
result["licenses"].first["well_type"]["name"].should == well_type.name
result["licenses"].first["location"]["latitude"].should == township_1.latitude
result["licenses"].first["location"]["longitude"].should == township_1.longitude
result["licenses"].first["location"]["township"].should == township_1.township
WellType::ALL.each do |well_type|
row = result["well_types"].find { |x| x['id'] == well_type.id }
row['acronym'].should == well_type.acronym
row['name'].should == well_type.name
end
LicenseStatus::ALL.each do |status|
row = result["license_statuses"].find { |x| x['name'] == status.to_s }
row.should_not be_nil
end
end
it "returns all expired licenses" do
get "v1/companies/#{company.id}/licenses?status=expired"
response.should be_success
result = JSON.parse(response.body)
result["licenses"].first["id"].should == expired_license.id
end
it "returns all confidential licenses" do
get "v1/companies/#{company.id}/licenses?status=confidential"
response.should be_success
result = JSON.parse(response.body)
result["licenses"].first["id"].should == confidential_license.id
end
it "returns all licenses from a township" do
get "v1/companies/#{company.id}/licenses?township=1"
response.should be_success
result = JSON.parse(response.body)
result["licenses"].first["id"].should == active_license.id
result["licenses"].last["id"].should == confidential_license.id
end
it "returns all expired licenses from a township" do
get "v1/companies/#{company.id}/licenses?township=2&status=expired"
response.should be_success
result = JSON.parse(response.body)
result["licenses"].first["id"].should == expired_license.id
end
end
end
|