diff options
-rw-r--r-- | app/models/notification.rb | 8 | ||||
-rw-r--r-- | db/migrate/20180310000000_change_columns_in_notifications_nonnullable.rb | 8 | ||||
-rw-r--r-- | db/schema.rb | 10 | ||||
-rw-r--r-- | spec/fabricators/notification_fabricator.rb | 4 | ||||
-rw-r--r-- | spec/models/notification_spec.rb | 10 |
5 files changed, 23 insertions, 17 deletions
diff --git a/app/models/notification.rb b/app/models/notification.rb index 7f8dae5ec..be9964087 100644 --- a/app/models/notification.rb +++ b/app/models/notification.rb @@ -4,12 +4,12 @@ # Table name: notifications # # id :integer not null, primary key -# activity_id :integer -# activity_type :string +# activity_id :integer not null +# activity_type :string not null # created_at :datetime not null # updated_at :datetime not null -# account_id :integer -# from_account_id :integer +# account_id :integer not null +# from_account_id :integer not null # class Notification < ApplicationRecord diff --git a/db/migrate/20180310000000_change_columns_in_notifications_nonnullable.rb b/db/migrate/20180310000000_change_columns_in_notifications_nonnullable.rb new file mode 100644 index 000000000..05ffd0501 --- /dev/null +++ b/db/migrate/20180310000000_change_columns_in_notifications_nonnullable.rb @@ -0,0 +1,8 @@ +class ChangeColumnsInNotificationsNonnullable < ActiveRecord::Migration[5.1] + def change + change_column_null :notifications, :activity_id, false + change_column_null :notifications, :activity_type, false + change_column_null :notifications, :account_id, false + change_column_null :notifications, :from_account_id, false + end +end diff --git a/db/schema.rb b/db/schema.rb index c52a6f0d4..18c61dbe0 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20180304013859) do +ActiveRecord::Schema.define(version: 20180310000000) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -274,12 +274,12 @@ ActiveRecord::Schema.define(version: 20180304013859) do end create_table "notifications", force: :cascade do |t| - t.bigint "activity_id" - t.string "activity_type" + t.bigint "activity_id", null: false + t.string "activity_type", null: false t.datetime "created_at", null: false t.datetime "updated_at", null: false - t.bigint "account_id" - t.bigint "from_account_id" + t.bigint "account_id", null: false + t.bigint "from_account_id", null: false t.index ["account_id", "activity_id", "activity_type"], name: "account_activity", unique: true t.index ["account_id", "id"], name: "index_notifications_on_account_id_and_id", order: { id: :desc } t.index ["activity_id", "activity_type"], name: "index_notifications_on_activity_id_and_activity_type" diff --git a/spec/fabricators/notification_fabricator.rb b/spec/fabricators/notification_fabricator.rb index b92af0683..638844e0f 100644 --- a/spec/fabricators/notification_fabricator.rb +++ b/spec/fabricators/notification_fabricator.rb @@ -1,4 +1,4 @@ Fabricator(:notification) do - activity_id 1 - activity_type 'Favourite' + activity fabricator: [:mention, :status, :follow, :follow_request, :favourite].sample + account end diff --git a/spec/models/notification_spec.rb b/spec/models/notification_spec.rb index 8444c8f63..c781f2a29 100644 --- a/spec/models/notification_spec.rb +++ b/spec/models/notification_spec.rb @@ -6,14 +6,13 @@ RSpec.describe Notification, type: :model do end describe '#target_status' do - let(:notification) { Fabricate(:notification, activity_type: type, activity: activity) } + let(:notification) { Fabricate(:notification, activity: activity) } let(:status) { Fabricate(:status) } let(:reblog) { Fabricate(:status, reblog: status) } let(:favourite) { Fabricate(:favourite, status: status) } let(:mention) { Fabricate(:mention, status: status) } - context 'type is :reblog' do - let(:type) { :reblog } + context 'activity is reblog' do let(:activity) { reblog } it 'returns status' do @@ -21,7 +20,7 @@ RSpec.describe Notification, type: :model do end end - context 'type is :favourite' do + context 'activity is favourite' do let(:type) { :favourite } let(:activity) { favourite } @@ -30,8 +29,7 @@ RSpec.describe Notification, type: :model do end end - context 'type is :mention' do - let(:type) { :mention } + context 'activity is mention' do let(:activity) { mention } it 'returns status' do |