diff --git a/spec/integration/link_spec.cr b/spec/integration/link_spec.cr index 878eb6f..a7551dc 100644 --- a/spec/integration/link_spec.cr +++ b/spec/integration/link_spec.cr @@ -1,9 +1,9 @@ require "../spec_helper" require "../../app/models/*" -API_KEY = Random::Secure.urlsafe_base64() +API_KEY = Random::Secure.urlsafe_base64 -describe App::Controllers::Link do +describe "App::Controllers::Link" do describe "Create" do it "should create link" do test_user = create_test_user() @@ -36,7 +36,7 @@ describe App::Controllers::Link do it "should return 400 - invalid url" do test_user = create_test_user() - payload = {"url" => "test" } + payload = {"url" => "test"} post( "/api/links", headers: HTTP::Headers{"Content-Type" => "application/json", "X-Api-Key" => test_user.api_key.to_s}, diff --git a/spec/integration/ping_spec.cr b/spec/integration/ping_spec.cr index 24f1d7e..c3434f1 100644 --- a/spec/integration/ping_spec.cr +++ b/spec/integration/ping_spec.cr @@ -1,6 +1,6 @@ require "../spec_helper" -describe App::Controllers::Ping do +describe "App::Controllers::Ping" do it "should return pong" do get "/api/ping" diff --git a/spec/services/cli_spec.cr b/spec/services/cli_spec.cr new file mode 100644 index 0000000..26e0ffd --- /dev/null +++ b/spec/services/cli_spec.cr @@ -0,0 +1,37 @@ +require "../spec_helper" +require "../../app/services/cli" + +describe "App::Services::Cli" do + it "creates a new user" do + name = "testuser" + output = App::Services::Cli.create_user(name) + + output.should contain "New user created: Name: testuser" + end + + it "lists all users" do + App::Services::Cli.create_user("user1") + App::Services::Cli.create_user("user2") + + output = App::Services::Cli.list_users + + output.should contain "Users:" + output.should contain "Name: user1" + output.should contain "Name: user2" + end + + it "deletes a user by ID" do + App::Services::Cli.create_user("user_to_delete") + user = App::Lib::Database.all(App::Models::User).first + + output = App::Services::Cli.delete_user(user.id) + + output.should contain "User with ID #{user.id} deleted successfully" + end + + it "handles deletion of non-existent user" do + output = App::Services::Cli.delete_user("non-existent-id") + + output.should contain "Failed to delete user" + end +end