From 7b33cb1b3cfba082f5b6572e1d966fa0ea06556e Mon Sep 17 00:00:00 2001 From: Roman Chvanikov Date: Mon, 27 Jul 2020 16:46:05 +0300 Subject: skip yarn-dependent tests when yarn is unavailable --- test/tasks/frontend_test.exs | 52 ++++++++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/test/tasks/frontend_test.exs b/test/tasks/frontend_test.exs index f2893b725..fb5da2d30 100644 --- a/test/tasks/frontend_test.exs +++ b/test/tasks/frontend_test.exs @@ -108,38 +108,44 @@ defmodule Mix.Tasks.Pleroma.FrontendTest do describe "Install all" do test "Normal config" do - config = [ - primary: %{"name" => "pleroma", "ref" => "1.2.3"}, - mastodon: %{"name" => "mastodon", "ref" => "2.3.4"}, - admin: %{"name" => "admin", "ref" => "3.4.5"} - ] - - clear_config(:frontends, config) - Mix.Tasks.Pleroma.Frontend.run(["install", "all"]) - - assert File.exists?(Path.join([@dir, "frontends/pleroma/1.2.3/index.html"])) - assert File.exists?(Path.join([@dir, "frontends/mastodon/2.3.4/sw.js"])) - assert File.exists?(Path.join([@dir, "frontends/admin/3.4.5/index.html"])) + if Pleroma.Utils.command_available?("yarn") do + config = [ + primary: %{"name" => "pleroma", "ref" => "1.2.3"}, + mastodon: %{"name" => "mastodon", "ref" => "2.3.4"}, + admin: %{"name" => "admin", "ref" => "3.4.5"} + ] + + clear_config(:frontends, config) + Mix.Tasks.Pleroma.Frontend.run(["install", "all"]) + + assert File.exists?(Path.join([@dir, "frontends/pleroma/1.2.3/index.html"])) + assert File.exists?(Path.join([@dir, "frontends/mastodon/2.3.4/sw.js"])) + assert File.exists?(Path.join([@dir, "frontends/admin/3.4.5/index.html"])) + end end test "Unconfigured frontends" do - config = [ - primary: %{"name" => "none", "ref" => "1.2.3"}, - mastodon: %{"name" => "mastodon", "ref" => "none"}, - admin: %{"name" => "admin", "ref" => "none"} - ] + if Pleroma.Utils.command_available?("yarn") do + config = [ + primary: %{"name" => "none", "ref" => "1.2.3"}, + mastodon: %{"name" => "mastodon", "ref" => "none"}, + admin: %{"name" => "admin", "ref" => "none"} + ] - clear_config(:frontends, config) - Mix.Tasks.Pleroma.Frontend.run(["install", "all"]) + clear_config(:frontends, config) + Mix.Tasks.Pleroma.Frontend.run(["install", "all"]) - assert {:ok, []} == File.ls(@dir) + assert {:ok, []} == File.ls(@dir) + end end test "Missing configs" do - clear_config(:frontends, []) - Mix.Tasks.Pleroma.Frontend.run(["install", "all"]) + if Pleroma.Utils.command_available?("yarn") do + clear_config(:frontends, []) + Mix.Tasks.Pleroma.Frontend.run(["install", "all"]) - assert {:ok, []} == File.ls(@dir) + assert {:ok, []} == File.ls(@dir) + end end end end -- cgit v1.2.3