blob: 093dd3192f794ac3b15bb6e7193bcac15ece903f [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
"""
Model tests for neighborhood
"""
from alluratest.tools import with_setup
from allura import model as M
from allura.tests import decorators as td
from alluratest.controller import setup_basic_test, setup_global_objects
def setup_method(self, method):
setup_basic_test()
setup_with_tools()
@td.with_wiki
def setup_with_tools():
setup_global_objects()
@with_setup(setUp)
def test_neighborhood():
neighborhood = M.Neighborhood.query.get(name='Projects')
# Check css output depends of neighborhood level
test_css = ".text{color:#000;}"
neighborhood.css = test_css
neighborhood.features['css'] = 'none'
assert neighborhood.get_custom_css() == ""
neighborhood.features['css'] = 'picker'
assert neighborhood.get_custom_css() == test_css
neighborhood.features['css'] = 'custom'
assert neighborhood.get_custom_css() == test_css
# Check max projects
neighborhood.features['max_projects'] = None
assert neighborhood.get_max_projects() is None
neighborhood.features['max_projects'] = 500
assert neighborhood.get_max_projects() == 500
# Check picker css styles
test_css_dict = {'barontop': '#444',
'titlebarbackground': '#555',
'projecttitlefont': 'arial,sans-serif',
'projecttitlecolor': '#333',
'titlebarcolor': '#666'}
css_text = neighborhood.compile_css_for_picker(test_css_dict)
assert '#333' in css_text
assert '#444' in css_text
assert '#555' in css_text
assert '#666' in css_text
assert 'arial,sans-serif' in css_text
neighborhood.css = css_text
styles_list = neighborhood.get_css_for_picker()
for style in styles_list:
assert test_css_dict[style['name']] == style['value']
# Check neighborhood custom css showing
neighborhood.features['css'] = 'none'
assert not neighborhood.allow_custom_css
neighborhood.features['css'] = 'picker'
assert neighborhood.allow_custom_css
neighborhood.features['css'] = 'custom'
assert neighborhood.allow_custom_css
neighborhood.anchored_tools = 'wiki:Wiki, tickets:Tickets'
assert neighborhood.get_anchored_tools()['wiki'] == 'Wiki'
assert neighborhood.get_anchored_tools()['tickets'] == 'Tickets'
neighborhood.prohibited_tools = 'wiki, tickets'
assert neighborhood.get_prohibited_tools() == ['wiki', 'tickets']
# Check properties
assert neighborhood.shortname == "p"