diff --git a/app/models/geozone.rb b/app/models/geozone.rb new file mode 100644 index 000000000..303671493 --- /dev/null +++ b/app/models/geozone.rb @@ -0,0 +1,3 @@ +class Geozone < ActiveRecord::Base + validates :name, presence: true +end diff --git a/db/migrate/20160105121132_create_geozones.rb b/db/migrate/20160105121132_create_geozones.rb new file mode 100644 index 000000000..3e43339e9 --- /dev/null +++ b/db/migrate/20160105121132_create_geozones.rb @@ -0,0 +1,11 @@ +class CreateGeozones < ActiveRecord::Migration + def change + create_table :geozones do |t| + t.string :name + t.string :html_map_coordinates + t.string :external_code + + t.timestamps null: false + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 6532159fe..95d186822 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -171,6 +171,14 @@ ActiveRecord::Schema.define(version: 20160108133501) do add_index "flags", ["user_id", "flaggable_type", "flaggable_id"], name: "access_inappropiate_flags", using: :btree add_index "flags", ["user_id"], name: "index_flags_on_user_id", using: :btree + create_table "geozones", force: :cascade do |t| + t.string "name" + t.string "html_map_coordinates" + t.string "external_code" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + end + create_table "identities", force: :cascade do |t| t.integer "user_id" t.string "provider" diff --git a/spec/factories.rb b/spec/factories.rb index 0d1aded2a..70ed26a1d 100644 --- a/spec/factories.rb +++ b/spec/factories.rb @@ -303,4 +303,7 @@ FactoryGirl.define do association :notifiable, factory: :proposal end + factory :geozone do + sequence(:name) { |n| "District #{n}" } + end end diff --git a/spec/models/geozone_spec.rb b/spec/models/geozone_spec.rb new file mode 100644 index 000000000..a29c4c918 --- /dev/null +++ b/spec/models/geozone_spec.rb @@ -0,0 +1,14 @@ +require 'rails_helper' + +RSpec.describe Geozone, type: :model do + let(:geozone) { build(:geozone) } + + it "should be valid" do + expect(geozone).to be_valid + end + + it "should not be valid without a name" do + geozone.name = nil + expect(geozone).to_not be_valid + end +end