ToolJet/test/controllers/organizations_controller_test.rb
Deepti Kakade b10d777f63
Fixes Rubocop issues in tests (#359)
* Updated project set up guide for Mac, added node version and Webpack install steps.

* Worked on PR comment i.e Can we change this line to Install Node.js ( version: v14.9.0 )

* Fixed "Style/StringLiterals: Prefer double-quoted strings unless you need single quotes to avoid extra backslashes for escaping."

* Resolved rubocop comments i.e "Style/FrozenStringLiteralComment: Missing frozen string literal comment." in test folder

Co-authored-by: Deepti Kakade <deepti@saeloun.com>
Co-authored-by: Deepti Kakade <“deepti@saeloun.com”>
2021-07-01 12:54:35 +05:30

51 lines
2.6 KiB
Ruby

# frozen_string_literal: true
require "test_helper"
class OrganizationsControllerTest < ActionDispatch::IntegrationTest
def setup
@org = Organization.create({ name: "ToolJet Test" })
@admin = User.create({ first_name: "Admin", email: "admin@example.com", password: "password",
organization: @org })
@developer = User.create({ first_name: "Dev", email: "dev@example.com", password: "password",
organization: @org })
@viewer = User.create({ first_name: "Viewer", email: "viewer@example.com", password: "password",
organization: @org })
OrganizationUser.create(organization: @org, user: @admin, role: "admin", status: "active")
OrganizationUser.create(organization: @org, user: @developer, role: "developer", status: "active")
OrganizationUser.create(organization: @org, user: @viewer, role: "viewer", status: "active")
@another_org = Organization.create({ name: "Another ToolJet Test" })
@another_org_admin = User.create({ first_name: "Admin", email: "admin@domain.com", password: "password",
organization: @another_org })
OrganizationUser.create(organization: @another_org, user: @another_org_admin, role: "admin", status: "active")
end
test "org users can list users of the org" do
get organization_users_url(@org.id), headers: { "Content-Type": "application/json" }.merge(auth_header(@admin)),
xhr: true
assert_response 200
assert_equal 3, JSON.parse(response.body)["users"].size
get organization_users_url(@org.id),
headers: { "Content-Type": "application/json" }.merge(auth_header(@developer)), xhr: true
assert_response 200
assert_equal 3, JSON.parse(response.body)["users"].size
get organization_users_url(@org.id), headers: { "Content-Type": "application/json" }.merge(auth_header(@viewer)),
xhr: true
assert_response 200
assert_equal 3, JSON.parse(response.body)["users"].size
get organization_users_url(@another_org.id),
headers: { "Content-Type": "application/json" }.merge(auth_header(@another_org_admin)), xhr: true
assert_response 200
assert_equal 1, JSON.parse(response.body)["users"].size
# Even if org id is given, current user's org's users are returned
get organization_users_url(@org.id),
headers: { "Content-Type": "application/json" }.merge(auth_header(@another_org_admin)), xhr: true
assert_response 200
assert_equal 1, JSON.parse(response.body)["users"].size
end
end