From d6abf44477575ef2d539e36982fbe49ef5324dbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juanjo=20Baz=C3=A1n?= Date: Tue, 5 Jan 2016 14:03:33 +0100 Subject: [PATCH] =?UTF-8?q?adds=20Geozones=20=F0=9F=97=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/geozone.rb | 3 +++ db/migrate/20160105121132_create_geozones.rb | 11 +++++++++++ db/schema.rb | 8 ++++++++ spec/factories.rb | 3 +++ spec/models/geozone_spec.rb | 14 ++++++++++++++ 5 files changed, 39 insertions(+) create mode 100644 app/models/geozone.rb create mode 100644 db/migrate/20160105121132_create_geozones.rb create mode 100644 spec/models/geozone_spec.rb 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