Current section
Files
Jump to
Current section
Files
test/mix/tasks/weber_test.exs
defmodule Mix.Tasks.WeberTest do
use ExUnit.Case
import MixHelpers
test "prints version" do
Mix.Tasks.Weber.run ["--version"]
assert_received { :mix_shell, :info, ["Weber v" <> _] }
end
test "generates a new weber app given an absolute path" do
app_name = "new_app"
app_module = Mix.Utils.camelize(app_name)
app_path = tmp_path app_name
File.rm_rf! app_path
Mix.Generator.create_directory tmp_path
Mix.Tasks.Weber.New.run [app_path]
File.mkdir("#{app_path}/log")
assert_directory app_path
File.cd! app_path, fn ->
assert_file "README.md"
assert_file "mix.exs"
assert_file "start.sh"
assert_directory "lib"
assert_directory "lib/helpers"
assert_directory "lib/models"
assert_file "lib/app.ex"
assert_file "lib/config.ex"
assert_file "lib/route.ex"
assert_file "lib/controllers/main.ex"
assert_directory "log"
assert_directory "public/css"
assert_directory "public/js"
assert_directory "public/img"
assert_file "test/#{app_name}_test.exs"
assert_file "test/test_helper.exs"
assert_directory "tmp"
File.read!("lib/controllers/main.ex") =~ ~r(defmodule #{app_module}.Main do)
File.read!("lib/controllers/main.ex") =~ ~r(project: "#{app_name}")
File.read!("test/#{app_name}_test.exs") =~ ~r(defmodule #{app_module}Test do)
end
File.rm_rf! app_path
end
end