#!/bin/env ruby require File.dirname(__FILE__) + '/../test_helper' require 'navbar' class NavbarTest < Test::Unit::TestCase item = RForum::NavigationBar::Item EXPECTED_ITEMS = { :forums_list => item.new('Forum List', {:controller => 'forum', :action => 'list'}), :search => item.new('Search', {:controller => 'forum', :action => 'search'}), :new_topic => item.new('New Topic', {:controller => 'topic', :action => 'new', :params => {'forum_id' => 1}}), :user_settings => item.new('User settings', :controller => 'user', :action => 'edit'), :register => item.new('Register', :controller => 'user', :action => 'register'), :login => item.new('Log In', {:controller => 'user', :action => 'login'}), :logout_user => item.new('Log Out [u]', {:controller => 'user', :action => 'logout'}), :logout_admin => item.new('Log Out [a] (Admin)', {:controller => 'user', :action => 'logout'}) } def setup setup_forum_fixture end def test_navbar_nobody_logged_on navbar = RForum::NavigationBar.new(forum = nil, user = Guest.new) assert_equal EXPECTED_ITEMS[:forums_list], navbar.forums_list assert_equal EXPECTED_ITEMS[:search], navbar.search assert_nil navbar.new_topic assert_equal EXPECTED_ITEMS[:register], navbar.user_settings assert_equal EXPECTED_ITEMS[:login], navbar.login_info end def test_navbar_user_logged_on navbar = RForum::NavigationBar.new(forum = nil, User.find(3)) assert_equal EXPECTED_ITEMS[:forums_list], navbar.forums_list assert_equal EXPECTED_ITEMS[:search], navbar.search assert_nil navbar.new_topic assert_equal EXPECTED_ITEMS[:user_settings], navbar.user_settings assert_equal EXPECTED_ITEMS[:logout_user], navbar.login_info end def test_navbar_admin_logged_on navbar = RForum::NavigationBar.new(forum = nil, User.find(1)) assert_equal EXPECTED_ITEMS[:forums_list], navbar.forums_list assert_equal EXPECTED_ITEMS[:search], navbar.search assert_nil navbar.new_topic assert_equal EXPECTED_ITEMS[:user_settings], navbar.user_settings assert_equal EXPECTED_ITEMS[:logout_admin], navbar.login_info end def test_navbar_inside_forum navbar = RForum::NavigationBar.new(Forum.find(1), User.find(1)) assert_equal EXPECTED_ITEMS[:forums_list], navbar.forums_list assert_equal EXPECTED_ITEMS[:search], navbar.search assert_equal EXPECTED_ITEMS[:new_topic], navbar.new_topic assert_equal EXPECTED_ITEMS[:user_settings], navbar.user_settings assert_equal EXPECTED_ITEMS[:logout_admin], navbar.login_info end end