aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/attachments_test.rb27
-rw-r--r--test/database/create_users_migration.rb7
-rw-r--r--test/database/setup.rb4
-rw-r--r--test/test_helper.rb10
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