Sha256: cc34376a64da76d72348ab422f606b38c4afb5d5235486e039e3daa84b2105bc

Contents?: true

Size: 1.71 KB

Versions: 1

Compression:

Stored size: 1.71 KB

Contents

require 'rails_helper'

feature 'Person browsing' do
  before do
    omni_auth_log_in_as 'test.user@digital.justice.gov.uk'
  end

  scenario 'Using breadcrumbs on a profile page' do
    group_a = create_group_hierarchy('Ministry of Justice', 'Apple', 'Biwa')
    group_b = create_group_hierarchy('Ministry of Justice', 'Cherry', 'Durian')
    person = create(:person)
    create(:membership, person: person, group: group_a)
    create(:membership, person: person, group: group_b)

    visit group_path(group_b)
    click_link person.name

    within '.breadcrumbs' do
      expect(page).to have_selector('a', text: 'Durian')
      expect(page).not_to have_selector('a', text: 'Biwa')
    end
  end

  describe 'Days worked' do
    let(:weekday_person) { create(:person, works_monday: true, works_friday: true) }
    let(:weekend_person) { create(:person, works_saturday: true, works_sunday: true) }

    scenario 'A person who only works weekdays should not see Saturday & Sunday listed' do
      visit person_path(weekday_person)
      expect(page).to have_xpath("//li[@alt='Monday']")
      expect(page).to have_xpath("//li[@alt='Friday']")

      expect(page).to_not have_xpath("//li[@alt='Sunday']")
      expect(page).to_not have_xpath("//li[@alt='Saturday']")
    end

    scenario 'A person who works one or more days on a weekend should have their days listed' do
      visit person_path(weekend_person)

      expect(page).to have_xpath("//li[@alt='Sunday']")
      expect(page).to have_xpath("//li[@alt='Saturday']")
    end

  end

  def create_group_hierarchy(*names)
    group = nil
    names.each do |name|
      group = Peoplefinder::Group.find_by_name(name) || create(:group, parent: group, name: name)
    end
    group
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
peoplefinder-0.0.2 spec/features/person_browsing_spec.rb