@new_resource_attrs ||= {}
@new_resource_attrs.reject! { |k,v| k.to_s == 'uuid' }
@object ||= model_class.new @new_resource_attrs, params["options"]
+
if @object.save
show
else
+ <li>
+ <%= link_to projects_path(options: {ensure_unique_name: true}), method: :post, class: 'btn btn-xs btn-default pull-right' do %>
+ <i class="fa fa-plus"></i> Add a new project
+ <% end %>
+ </li>
<li>
<%= project_link_to.call({object: current_user, depth: 0}) do %>
<span style="padding-left: 0"></span>Home
<span class="caret"></span>
</a>
<ul class="dropdown-menu" role="menu">
- <%= render partial: "projects_tree_menu", locals: {
+ <%= render partial: "projects_tree_menu", locals: {
:project_link_to => Proc.new do |pnode, &block|
link_to(project_path(pnode[:object].uuid),
data: { 'object-uuid' => pnode[:object].uuid,
'name' => 'name' },
&block)
end,
- :top_button => Proc.new do %>
- <% link_to projects_path, method: :post, class: 'btn btn-xs btn-default pull-right' do %>
- <i class="fa fa-plus"></i> New project
- <% end %>
- <% end %>
- <% } %>
+ } %>
</ul>
</li>
<% if @name_link or @object %>
find(".dropdown-menu a", text: "Home").click
find('.btn', text: "Add a subproject").click
- # within('.editable', text: 'New project') do
within('h2') do
find('.fa-pencil').click
find('.editable-input input').set('Project 1234')
end
end
+ test "add new project using projects dropdown" do
+ # verify that selection options are disabled on the project until an item is selected
+ visit page_with_token 'active', '/'
+
+ # Add a new project
+ find("#projects-menu").click
+ click_link 'Add a new project'
+ assert_text 'New project'
+ assert_text 'No description provided'
+
+ # Add one more new project
+ find("#projects-menu").click
+ click_link 'Add a new project'
+ match = /New project \(\d\)/.match page.text
+ assert match, 'Expected project name not found'
+ assert_text 'No description provided'
+ end
end