commit: 6ec1aa372dca28c476749666d02e1807eb05c42e
parent: 2c3544eedd52ffc29dd425042791995cd270cd7e
Author: abcang <abcang1015@gmail.com>
Date: Sun, 3 Sep 2017 03:45:42 +0900
Validate data of Imports (#4782)
Diffstat:
2 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/app/models/import.rb b/app/models/import.rb
@@ -28,4 +28,5 @@ class Import < ApplicationRecord
has_attached_file :data, url: '/system/:hash.:extension', hash_secret: ENV['PAPERCLIP_SECRET']
validates_attachment_content_type :data, content_type: FILE_TYPES
+ validates_attachment_presence :data
end
diff --git a/spec/models/import_spec.rb b/spec/models/import_spec.rb
@@ -1,5 +1,24 @@
require 'rails_helper'
RSpec.describe Import, type: :model do
+ let (:account) { Fabricate(:account) }
+ let (:type) { 'following' }
+ let (:data) { attachment_fixture('imports.txt') }
+ describe 'validations' do
+ it 'has a valid parameters' do
+ import = Import.create(account: account, type: type, data: data)
+ expect(import).to be_valid
+ end
+
+ it 'is invalid without an type' do
+ import = Import.create(account: account, data: data)
+ expect(import).to model_have_error_on_field(:type)
+ end
+
+ it 'is invalid without a data' do
+ import = Import.create(account: account, type: type)
+ expect(import).to model_have_error_on_field(:data)
+ end
+ end
end