You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.3 KiB
41 lines
1.3 KiB
3 years ago
|
require "rails_helper"
|
||
|
|
||
|
RSpec.describe TabNavHelper do
|
||
|
let(:organisation) { FactoryBot.create(:organisation) }
|
||
|
let(:user) { FactoryBot.build(:user, organisation: organisation) }
|
||
|
|
||
|
describe "#user_cell" do
|
||
|
it "returns user link and email separated by a newline character" do
|
||
|
expected_html = "<a class=\"govuk-link\" href=\"/users\">Danny Rojas</a>\n#{user.email}"
|
||
|
expect(user_cell(user)).to match(expected_html)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
describe "#org_cell" do
|
||
|
it "returns the users org name and role separated by a newline character" do
|
||
|
expected_html = "DLUHC\n<span class='app-!-colour-muted'>Data provider</span>"
|
||
|
expect(org_cell(user)).to match(expected_html)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
describe "#tab_items" do
|
||
|
context "user is a data_coordinator" do
|
||
|
let(:user) { FactoryBot.build(:user, :data_coordinator, organisation: organisation) }
|
||
|
it "returns details and user tabs" do
|
||
|
result = tab_items(user).map { |i| i[:name] }
|
||
|
expect(result.count).to eq(2)
|
||
|
expect(result.first).to match("Details")
|
||
|
expect(result.second).to match("Users")
|
||
|
end
|
||
|
end
|
||
|
|
||
|
context "user is a data_provider" do
|
||
|
it "returns details tab only" do
|
||
|
result = tab_items(user).map { |i| i[:name] }
|
||
|
expect(result.count).to eq(1)
|
||
|
expect(result.first).to match("Details")
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|