diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/attachments_test.rb | 27 | ||||
-rw-r--r-- | test/database/create_users_migration.rb | 7 | ||||
-rw-r--r-- | test/database/setup.rb | 4 | ||||
-rw-r--r-- | test/test_helper.rb | 10 |
4 files changed, 46 insertions, 2 deletions
diff --git a/test/attachments_test.rb b/test/attachments_test.rb new file mode 100644 index 0000000000..970804b68f --- /dev/null +++ b/test/attachments_test.rb @@ -0,0 +1,27 @@ +require "test_helper" +require "database/setup" +require "active_vault/blob" + +# ActiveRecord::Base.logger = Logger.new(STDOUT) + +class User < ActiveRecord::Base + has_file :avatar +end + +class ActiveVault::AttachmentsTest < ActiveSupport::TestCase + setup { @user = User.create!(name: "DHH") } + + test "create attachment from existing blob" do + @user.avatar = create_blob filename: "funky.jpg" + assert_equal "funky.jpg", @user.avatar.filename.to_s + end + + test "purge attached blob" do + @user.avatar = create_blob filename: "funky.jpg" + avatar_key = @user.avatar.key + + @user.avatar.purge + assert_nil @user.avatar + assert_not ActiveVault::Blob.site.exist?(avatar_key) + end +end diff --git a/test/database/create_users_migration.rb b/test/database/create_users_migration.rb new file mode 100644 index 0000000000..38dcdc129b --- /dev/null +++ b/test/database/create_users_migration.rb @@ -0,0 +1,7 @@ +class ActiveVault::CreateUsers < ActiveRecord::Migration[5.1] + def change + create_table :users do |t| + t.string :name + end + end +end diff --git a/test/database/setup.rb b/test/database/setup.rb index bc6e8b9ec1..7373d72237 100644 --- a/test/database/setup.rb +++ b/test/database/setup.rb @@ -1,4 +1,6 @@ require "active_vault/migration" +require_relative "create_users_migration" ActiveRecord::Base.establish_connection(adapter: 'sqlite3', database: ':memory:') -ActiveVault::CreateBlobs.migrate(:up) +ActiveVault::CreateTables.migrate(:up) +ActiveVault::CreateUsers.migrate(:up) diff --git a/test/test_helper.rb b/test/test_helper.rb index 96ef58b73f..29bd31e62f 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -17,4 +17,12 @@ class ActiveSupport::TestCase def create_blob(data: "Hello world!", filename: "hello.txt", content_type: "text/plain") ActiveVault::Blob.create_after_upload! io: StringIO.new(data), filename: filename, content_type: content_type end -end
\ No newline at end of file +end + + +require "active_vault/attachments" +ActiveRecord::Base.send :extend, ActiveVault::Attachments + +require "global_id" +GlobalID.app = "ActiveVaultExampleApp" +ActiveRecord::Base.send :include, GlobalID::Identification |