total rebase
[anni] / test / pleroma / web / pleroma_api / views / backup_view_test.exs
old mode 100755 (executable)
new mode 100644 (file)
index a86688b..b125b88
@@ -4,10 +4,21 @@
 
 defmodule Pleroma.Web.PleromaAPI.BackupViewTest do
   use Pleroma.DataCase, async: true
+
+  alias Pleroma.UnstubbedConfigMock, as: ConfigMock
   alias Pleroma.User.Backup
   alias Pleroma.Web.PleromaAPI.BackupView
+
+  import Mox
   import Pleroma.Factory
 
+  setup do
+    ConfigMock
+    |> stub_with(Pleroma.Test.StaticConfig)
+
+    :ok
+  end
+
   test "it renders the ID" do
     user = insert(:user)
     backup = Backup.new(user)
@@ -15,4 +26,43 @@ defmodule Pleroma.Web.PleromaAPI.BackupViewTest do
     result = BackupView.render("show.json", backup: backup)
     assert result.id == backup.id
   end
+
+  test "it renders the state and processed_number" do
+    user = insert(:user)
+    backup = Backup.new(user)
+
+    result = BackupView.render("show.json", backup: backup)
+    assert result.state == to_string(backup.state)
+    assert result.processed_number == backup.processed_number
+  end
+
+  test "it renders failed state with legacy records" do
+    backup = %Backup{
+      id: 0,
+      content_type: "application/zip",
+      file_name: "dummy",
+      file_size: 1,
+      state: :invalid,
+      processed: true,
+      processed_number: 1,
+      inserted_at: NaiveDateTime.utc_now()
+    }
+
+    result = BackupView.render("show.json", backup: backup)
+    assert result.state == "complete"
+
+    backup = %Backup{
+      id: 0,
+      content_type: "application/zip",
+      file_name: "dummy",
+      file_size: 1,
+      state: :invalid,
+      processed: false,
+      processed_number: 1,
+      inserted_at: NaiveDateTime.utc_now()
+    }
+
+    result = BackupView.render("show.json", backup: backup)
+    assert result.state == "failed"
+  end
 end