Files
ubicloud/spec/routes/api/project/vm_spec.rb
Jeremy Evans daf2279a64 Add project_with_default_policy to DRY up api route specs
Also, move login_api from being defined globally to being defined
only in the spec classes.
2024-12-04 10:18:55 -08:00

36 lines
974 B
Ruby

# frozen_string_literal: true
require_relative "../spec_helper"
RSpec.describe Clover, "vm" do
let(:user) { create_account }
let(:project) { project_with_default_policy(user) }
let(:vm) { Prog::Vm::Nexus.assemble("dummy-public-key", project.id, name: "dummy-vm-1").subject }
describe "unauthenticated" do
it "not list" do
get "/project/#{project.ubid}/vm"
expect(last_response).to have_api_error(401, "Please login to continue")
end
end
describe "authenticated" do
before do
login_api(user.email)
end
it "success all vms" do
Prog::Vm::Nexus.assemble("dummy-public-key", project.id, name: "dummy-vm-2", location: "hetzner-fsn1")
Prog::Vm::Nexus.assemble("dummy-public-key", project.id, name: "dummy-vm-3", location: vm.location)
get "/project/#{project.ubid}/vm"
expect(last_response.status).to eq(200)
expect(JSON.parse(last_response.body)["items"].length).to eq(3)
end
end
end