require 'dock_health_api' require 'spec_helper' RSpec.describe DockHealthApi::TaskList::User do let(:taskid) {DockHealthApi::TaskList.list.last["id"]} let(:userid) {DockHealthApi::User.list.last["id"]} let(:params) {{ taskList: { type: "DEVELOPER", id: taskid }, user: { type: "DEVELOPER", id: userid } }} describe "#put" do context "Add existing user to TaskList" do it "should add existing user to TaskList" do response = DockHealthApi::TaskList::User.put(params) expect(response["listUsers"].last["user"]["id"]).to eq(userid) end end context "Using bad params to add user to TaskList" do it "should return 400" do bad_params = { taskList: { type: "DEVELOPER", id: taskid } } initial_count = DockHealthApi::TaskList.list.last["listUsers"].count response = DockHealthApi::TaskList::User.put(bad_params) final_count = DockHealthApi::TaskList.list.last["listUsers"].count expect(response["status"]).to eq(400) expect(final_count - initial_count).to eq(0) end end context "Using wrong ids to add user to TaskList" do it "should return 404" do bad_params = { taskList: { type: "DEVELOPER", id: taskid }, user: { type: "DEVELOPER", id: "a" * 36 } } initial_count = DockHealthApi::TaskList.list.last["listUsers"].count response = DockHealthApi::TaskList::User.put(bad_params) final_count = DockHealthApi::TaskList.list.last["listUsers"].count expect(response["status"]).to eq(404) expect(final_count - initial_count).to eq(0) end end end describe "#update" do context "Update role for existing user in TaskList" do it "should update role for existing suer in TaskList" do role = "GUEST" params.merge!(userRole: role) response = DockHealthApi::TaskList::User.update(params) expect(response["userRole"]).to eq(role) end end end describe "#delete" do context "Delete existing user from TaskList" do it "should delete user from TaskList" do response = DockHealthApi::TaskList::User.delete(params) expect(response["listUsers"].last["user"]["id"]).to eq(userid) end end end end