require 'spec_helper'

describe 'Group owner invite customer to group' do
  it 'should fail with invalid values' do
    customer = create :customer
    subtrade = create :subtrade
    group = create :group, customer: customer, subtrade: subtrade

    login_as_user customer
    click_link 'Get the Scoop'
    click_link 'Discussions'
    click_link "visit_group_#{group.id}"
    click_link "View Members"
    click_link 'new_group_membership_link'

    click_button 'invite_customer_button'
    page.should have_content "can't be blank"
  end

  it 'should create membership with valid values' do
    customer = create :customer
    subtrade = create :subtrade
    group = create :group, customer: customer, subtrade: subtrade

    login_as_user customer
    click_link 'Get the Scoop'
    click_link 'Discussions'
    click_link "visit_group_#{group.id}"
    click_link "View Members"
    click_link 'new_group_membership_link'

    fill_in 'group_membership_email', with: 'valid@email.com'
    click_button 'invite_customer_button'

    current_path.should eq customer_group_members_path group
    page.should have_content "Group member created"
  end

end


describe 'Group member invite customer to group' do
  it 'should fail with invalid values' do
    owner = create :customer
    subtrade = create :subtrade
    group = create :group, customer: owner, subtrade: subtrade
    customer = create :customer
    group_membership = create :group_membership, group: group, customer: customer, status: 'accepted'

    login_as_user customer
    click_link 'Get the Scoop'
    click_link 'Discussions'
    click_link "visit_group_#{group.id}"
    click_link "View Members"
    click_link 'new_group_membership_link'

    click_button 'invite_customer_button'
    page.should have_content "can't be blank"
  end

  it 'should create membership with valid values' do
    owner = create :customer
    subtrade = create :subtrade
    group = create :group, customer: owner, subtrade: subtrade
    customer = create :customer
    group_membership = create :group_membership, group: group, customer: customer, status: 'accepted'

    login_as_user customer
    click_link 'Get the Scoop'
    click_link 'Discussions'
    click_link "visit_group_#{group.id}"
    click_link "View Members"
    click_link 'new_group_membership_link'

    fill_in 'group_membership_email', with: 'valid@email.com'
    click_button 'invite_customer_button'

    current_path.should eq customer_group_members_path group
    page.should have_content "Group member created"
  end

end
