diff options
| author | Vlatka Pavisic | 2017-03-01 18:17:26 +0100 | 
|---|---|---|
| committer | Vlatka Pavisic | 2017-03-01 18:17:26 +0100 | 
| commit | 62cfad41493a55b89ebd2dd5246c0a2ff15df1a8 (patch) | |
| tree | d6f8c822ef161aca9cd958739dbcb04b2d91bf8c | |
| parent | a6a049ad67e340e10b609c10d0946364c35b5b5e (diff) | |
| download | chouette-core-62cfad41493a55b89ebd2dd5246c0a2ff15df1a8.tar.bz2 | |
Refs #2687 : Update ImportResource
| -rw-r--r-- | app/models/import_resource.rb | 5 | ||||
| -rw-r--r-- | config/locales/enumerize.en.yml | 6 | ||||
| -rw-r--r-- | config/locales/enumerize.fr.yml | 6 | ||||
| -rw-r--r-- | db/migrate/20170301170956_add_attributes_to_import_resource.rb | 8 | ||||
| -rw-r--r-- | db/schema.rb | 6 | ||||
| -rw-r--r-- | spec/models/import_resource_spec.rb | 6 | 
6 files changed, 36 insertions, 1 deletions
diff --git a/app/models/import_resource.rb b/app/models/import_resource.rb index f140e1b36..3ddd325fd 100644 --- a/app/models/import_resource.rb +++ b/app/models/import_resource.rb @@ -2,6 +2,11 @@ class ImportResource < ActiveRecord::Base    include AASM    belongs_to :import +  extend Enumerize +  enumerize :status, in: %i(new pending successful failed) + +  validates_presence_of :name, :type, :reference +    aasm column: :status do      state :new, :initial => true      state :pending diff --git a/config/locales/enumerize.en.yml b/config/locales/enumerize.en.yml index 07f31d5f9..8857e593c 100644 --- a/config/locales/enumerize.en.yml +++ b/config/locales/enumerize.en.yml @@ -12,6 +12,12 @@ en:          successful: Successful          failed: Failed          canceled: Canceled +    import_resource: +      status: +        new: New +        pending: Pending +        successful: Successful +        failed: Failed      for_boarding:        normal: "Regularly scheduled pickup"        forbidden: "No pickup available" diff --git a/config/locales/enumerize.fr.yml b/config/locales/enumerize.fr.yml index 3e136d3ae..6ce7fd1cc 100644 --- a/config/locales/enumerize.fr.yml +++ b/config/locales/enumerize.fr.yml @@ -12,6 +12,12 @@ fr:          successful: Réussi          failed: Echoué          canceled: Annulé +    import_resource: +      status: +        new: Nouveau +        pending: En file d'attente +        successful: Réussi +        failed: Echoué      for_boarding:        normal: "Montée autorisée"        forbidden: "Montée interdite" diff --git a/db/migrate/20170301170956_add_attributes_to_import_resource.rb b/db/migrate/20170301170956_add_attributes_to_import_resource.rb new file mode 100644 index 000000000..b7da38d80 --- /dev/null +++ b/db/migrate/20170301170956_add_attributes_to_import_resource.rb @@ -0,0 +1,8 @@ +class AddAttributesToImportResource < ActiveRecord::Migration +  def change +    add_column :import_resources, :type, :string +    add_column :import_resources, :reference, :string +    add_column :import_resources, :name, :string +    add_column :import_resources, :metrics, :hstore +  end +end diff --git a/db/schema.rb b/db/schema.rb index 38afbe637..6ee6bb4ea 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@  #  # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20170301165631) do +ActiveRecord::Schema.define(version: 20170301170956) do    # These are extensions that must be enabled in order to support this database    enable_extension "plpgsql" @@ -262,6 +262,10 @@ ActiveRecord::Schema.define(version: 20170301165631) do      t.string   "status"      t.datetime "created_at"      t.datetime "updated_at" +    t.string   "type" +    t.string   "reference" +    t.string   "name" +    t.hstore   "metrics"    end    add_index "import_resources", ["import_id"], :name => "index_import_resources_on_import_id" diff --git a/spec/models/import_resource_spec.rb b/spec/models/import_resource_spec.rb index a2177979e..99d260b20 100644 --- a/spec/models/import_resource_spec.rb +++ b/spec/models/import_resource_spec.rb @@ -3,6 +3,12 @@ require 'rails_helper'  RSpec.describe ImportResource, :type => :model do    it { should belong_to(:import) } +  it { should enumerize(:status).in(:new, :pending, :successful, :failed) } + +  it { should validate_presence_of(:name) } +  it { should validate_presence_of(:type) } +  it { should validate_presence_of(:reference) } +    describe 'states' do      let(:import_resource) { create(:import_resource) }  | 
