require "spec_helper" describe 'v1/licenses/index' do let(:company) { Company.new(name: 'ABC Resources Ltd.') } let(:user) { User.new(company: company) } let(:location) { Location.new(latitude: 51.06, longitude: -114.09, township: '1') } let(:well_type) { WellType::DEV } let(:license) { License.new(id: SecureRandom.uuid, company: company, applicant: user, location: location, issued_at: 2.days.ago, expired_at: 1.day.from_now, well_type: well_type) } before :each do assign(:licenses, [license]) assign(:well_types, WellType::ALL) assign(:license_statuses, LicenseStatus::ALL) render end let(:result) { JSON.parse(rendered) } it "includes the license id" do result["licenses"].first["id"].should == license.id end it "includes the license date range" do result["licenses"].first["issued_at"].should == license.issued_at.to_s result["licenses"].first["expired_at"].should == license.expired_at.to_s end it "includes the company information" do result["licenses"].first["company"]["name"].should == license.company.name end it "includes information on the type of well" do 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 end it "includes location information" do result["licenses"].first["location"]["latitude"].should == location.latitude result["licenses"].first["location"]["longitude"].should == location.longitude result["licenses"].first["location"]["township"].should == location.township end it "includes all the well types" do 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 end it "includes all the license statuses" do LicenseStatus::ALL.each do |status| row = result["license_statuses"].find { |x| x['name'] == status.to_s } row.should_not be_nil end end end