diff --git a/app/assets/javascripts/admin.js b/app/assets/javascripts/admin.js deleted file mode 100644 index bb0a499a607..00000000000 --- a/app/assets/javascripts/admin.js +++ /dev/null @@ -1,11 +0,0 @@ -$(document).ready(function(){ - $('input#user_force_random_password').on('change', function(elem) { - var elems = $('#user_password, #user_password_confirmation'); - - if ($(this).attr('checked')) { - elems.val('').attr('disabled', true); - } else { - elems.removeAttr('disabled'); - } - }); -}); diff --git a/app/assets/javascripts/admin.js.coffee b/app/assets/javascripts/admin.js.coffee new file mode 100644 index 00000000000..269a7a767ed --- /dev/null +++ b/app/assets/javascripts/admin.js.coffee @@ -0,0 +1,8 @@ +$ -> + $('input#user_force_random_password').on 'change', (elem) -> + elems = $('#user_password, #user_password_confirmation') + + if $(@).attr 'checked' + elems.val('').attr 'disabled', true + else + elems.removeAttr 'disabled' diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index f69fd6f9a44..4c487ec1d38 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -17,134 +17,3 @@ //= require raphael //= require branch-graph //= require_tree . - -$(document).ready(function(){ - - $(".one_click_select").live("click", function(){ - $(this).select(); - }); - - $('body').on('ajax:complete, ajax:beforeSend, submit', 'form', function(e){ - var buttons = $('[type="submit"]', this); - switch( e.type ){ - case 'ajax:beforeSend': - case 'submit': - buttons.attr('disabled', 'disabled'); - break; - case ' ajax:complete': - default: - buttons.removeAttr('disabled'); - break; - } - }) - - $(".account-box").mouseenter(showMenu); - $(".account-box").mouseleave(resetMenu); - - $("#projects-list .project").live('click', function(e){ - if(e.target.nodeName != "A" && e.target.nodeName != "INPUT") { - location.href = $(this).attr("url"); - e.stopPropagation(); - return false; - } - }); - - /** - * Focus search field by pressing 's' key - */ - $(document).keypress(function(e) { - if( $(e.target).is(":input") ) return; - switch(e.which) { - case 115: focusSearch(); - e.preventDefault(); - } - }); - - /** - * Commit show suppressed diff - * - */ - $(".supp_diff_link").bind("click", function() { - showDiff(this); - }); - - /** - * Note markdown preview - * - */ - $(document).on('click', '#preview-link', function(e) { - $('#preview-note').text('Loading...'); - - var previewLinkText = ($(this).text() == 'Preview' ? 'Edit' : 'Preview'); - $(this).text(previewLinkText); - - var note = $('#note_note').val(); - if (note.trim().length === 0) { note = 'Nothing to preview'; } - $.post($(this).attr('href'), {note: note}, function(data) { - $('#preview-note').html(data); - }); - - $('#preview-note, #note_note').toggle(); - e.preventDefault(); - }); -}); - -function focusSearch() { - $("#search").focus(); -} - -function updatePage(data){ - $.ajax({type: "GET", url: location.href, data: data, dataType: "script"}); -} - -function showMenu() { - $(this).toggleClass('hover'); -} - -function resetMenu() { - $(this).removeClass("hover"); -} - -function slugify(text) { - return text.replace(/[^-a-zA-Z0-9]+/g, '_').toLowerCase(); -} - -function showDiff(link) { - $(link).next('table').show(); - $(link).remove(); -} - -(function($){ - var _chosen = $.fn.chosen; - $.fn.extend({ - chosen: function(options) { - var default_options = {'search_contains' : 'true'}; - $.extend(default_options, options); - return _chosen.apply(this, [default_options]); - }}) -})(jQuery); - - -function ajaxGet(url) { - $.ajax({type: "GET", url: url, dataType: "script"}); -} - -/** - * Disable button if text field is empty - */ -function disableButtonIfEmtpyField(field_selector, button_selector) { - field = $(field_selector); - if(field.val() == "") { - field.closest("form").find(button_selector).attr("disabled", "disabled").addClass("disabled"); - } - - field.on('keyup', function(){ - var field = $(this); - var closest_submit = field.closest("form").find(button_selector); - if(field.val() == "") { - closest_submit.attr("disabled", "disabled").addClass("disabled"); - } else { - closest_submit.removeAttr("disabled").removeClass("disabled"); - } - }) -} diff --git a/app/assets/javascripts/graph.js b/app/assets/javascripts/graph.js deleted file mode 100644 index 434cf70ac65..00000000000 --- a/app/assets/javascripts/graph.js +++ /dev/null @@ -1,10 +0,0 @@ -function initGraphNav() { - $(".graph svg").css("position", "relative"); - $("body").bind("keyup", function(e) { - if(e.keyCode == 37) { // left - $(".graph svg").animate({ left: "+=400" }); - } else if(e.keyCode == 39) { // right - $(".graph svg").animate({ left: "-=400" }); - } - }); -} diff --git a/app/assets/javascripts/graph.js.coffee b/app/assets/javascripts/graph.js.coffee new file mode 100644 index 00000000000..5fe8ae3f020 --- /dev/null +++ b/app/assets/javascripts/graph.js.coffee @@ -0,0 +1,10 @@ +initGraphNav = -> + $('.graph svg').css 'position', 'relative' + + $('body').bind 'keyup', (e) -> + if e.keyCode is 37 # left + $('.graph svg').animate left: '+=400' + else if e.keyCode is 39 # right + $('.graph svg').animate left: '-=400' + +window.initGraphNav = initGraphNav diff --git a/app/assets/javascripts/loader.js b/app/assets/javascripts/loader.js deleted file mode 100644 index 6fa0b525814..00000000000 --- a/app/assets/javascripts/loader.js +++ /dev/null @@ -1,11 +0,0 @@ -var Loader = { - img_src: "/assets/ajax-loader.gif", - - html: - function(width) { - img = $(""); - img.attr("width", width); - img.attr("src", this.img_src); - return img; - } -} diff --git a/app/assets/javascripts/loader.js.coffee b/app/assets/javascripts/loader.js.coffee new file mode 100644 index 00000000000..66f8e8b1bb3 --- /dev/null +++ b/app/assets/javascripts/loader.js.coffee @@ -0,0 +1,5 @@ +Loader = + html: (width) -> + $('').attr src: '/assets/ajax-loader.gif', width: width + +window.Loader = Loader diff --git a/app/assets/javascripts/main.js b/app/assets/javascripts/main.js new file mode 100644 index 00000000000..61af1dc3d19 --- /dev/null +++ b/app/assets/javascripts/main.js @@ -0,0 +1,130 @@ +$(document).ready(function(){ + + $(".one_click_select").live("click", function(){ + $(this).select(); + }); + + $('body').on('ajax:complete, ajax:beforeSend, submit', 'form', function(e){ + var buttons = $('[type="submit"]', this); + switch( e.type ){ + case 'ajax:beforeSend': + case 'submit': + buttons.attr('disabled', 'disabled'); + break; + case ' ajax:complete': + default: + buttons.removeAttr('disabled'); + break; + } + }) + + $(".account-box").mouseenter(showMenu); + $(".account-box").mouseleave(resetMenu); + + $("#projects-list .project").live('click', function(e){ + if(e.target.nodeName != "A" && e.target.nodeName != "INPUT") { + location.href = $(this).attr("url"); + e.stopPropagation(); + return false; + } + }); + + /** + * Focus search field by pressing 's' key + */ + $(document).keypress(function(e) { + if( $(e.target).is(":input") ) return; + switch(e.which) { + case 115: focusSearch(); + e.preventDefault(); + } + }); + + /** + * Commit show suppressed diff + * + */ + $(".supp_diff_link").bind("click", function() { + showDiff(this); + }); + + /** + * Note markdown preview + * + */ + $(document).on('click', '#preview-link', function(e) { + $('#preview-note').text('Loading...'); + + var previewLinkText = ($(this).text() == 'Preview' ? 'Edit' : 'Preview'); + $(this).text(previewLinkText); + + var note = $('#note_note').val(); + if (note.trim().length === 0) { note = 'Nothing to preview'; } + $.post($(this).attr('href'), {note: note}, function(data) { + $('#preview-note').html(data); + }); + + $('#preview-note, #note_note').toggle(); + e.preventDefault(); + }); +}); + +function focusSearch() { + $("#search").focus(); +} + +function updatePage(data){ + $.ajax({type: "GET", url: location.href, data: data, dataType: "script"}); +} + +function showMenu() { + $(this).toggleClass('hover'); +} + +function resetMenu() { + $(this).removeClass("hover"); +} + +function slugify(text) { + return text.replace(/[^-a-zA-Z0-9]+/g, '_').toLowerCase(); +} + +function showDiff(link) { + $(link).next('table').show(); + $(link).remove(); +} + +(function($){ + var _chosen = $.fn.chosen; + $.fn.extend({ + chosen: function(options) { + var default_options = {'search_contains' : 'true'}; + $.extend(default_options, options); + return _chosen.apply(this, [default_options]); + }}) +})(jQuery); + + +function ajaxGet(url) { + $.ajax({type: "GET", url: url, dataType: "script"}); +} + +/** + * Disable button if text field is empty + */ +function disableButtonIfEmtpyField(field_selector, button_selector) { + field = $(field_selector); + if(field.val() == "") { + field.closest("form").find(button_selector).attr("disabled", "disabled").addClass("disabled"); + } + + field.on('keyup', function(){ + var field = $(this); + var closest_submit = field.closest("form").find(button_selector); + if(field.val() == "") { + closest_submit.attr("disabled", "disabled").addClass("disabled"); + } else { + closest_submit.removeAttr("disabled").removeClass("disabled"); + } + }) +} diff --git a/app/assets/javascripts/projects.js.coffee b/app/assets/javascripts/projects.js.coffee index ca8f13f6744..85ab2a06dff 100644 --- a/app/assets/javascripts/projects.js.coffee +++ b/app/assets/javascripts/projects.js.coffee @@ -1,21 +1,20 @@ window.Projects = -> - $("#project_name").live "change", -> - slug = slugify($(this).val()) - $("#project_code").val(slug) - $("#project_path").val(slug) + $('#project_name').on 'change', -> + slug = slugify $(@).val() + $('#project_code, #project_path').val slug - $(".new_project, .edit_project").live "ajax:before", -> - $(".project_new_holder, .project_edit_holder").hide() - $(".save-project-loader").show() + $('.new_project, .edit_project').on 'ajax:before', -> + $('.project_new_holder, .project_edit_holder').hide() + $('.save-project-loader').show() - $("form #project_default_branch").chosen() - disableButtonIfEmtpyField "#project_name", ".project-submit" + $('form #project_default_branch').chosen() + disableButtonIfEmtpyField '#project_name', '.project-submit' # Git clone panel switcher $ -> - scope = $('.project_clone_holder') + scope = $ '.project_clone_holder' if scope.length > 0 $('a, button', scope).click -> - $('a, button', scope).removeClass('active') - $(this).addClass('active') - $('#project_clone', scope).val($(this).data('clone')) + $('a, button', scope).removeClass 'active' + $(@).addClass 'active' + $('#project_clone', scope).val $(@).data 'clone' diff --git a/app/assets/javascripts/snippets.js b/app/assets/javascripts/snippets.js deleted file mode 100644 index 11e18eb779e..00000000000 --- a/app/assets/javascripts/snippets.js +++ /dev/null @@ -1,9 +0,0 @@ -$(document).ready(function(){ - $("#snippets-table .snippet").live('click', function(e){ - if(e.target.nodeName != "A" && e.target.nodeName != "INPUT") { - location.href = $(this).attr("url"); - e.stopPropagation(); - return false; - } - }); -}); diff --git a/app/assets/javascripts/snippets.js.coffee b/app/assets/javascripts/snippets.js.coffee new file mode 100644 index 00000000000..af4385deb51 --- /dev/null +++ b/app/assets/javascripts/snippets.js.coffee @@ -0,0 +1,6 @@ +$ -> + $('#snippets-table .snippet').live 'click', (e) -> + if e.target.nodeName isnt 'A' and e.target.nodeName isnt 'INPUT' + location.href = $(@).attr 'url' + e.stopPropagation() + false diff --git a/app/assets/javascripts/team.js b/app/assets/javascripts/team.js deleted file mode 100644 index f4b04354f53..00000000000 --- a/app/assets/javascripts/team.js +++ /dev/null @@ -1,8 +0,0 @@ -function backToMembers(){ - $("#new_team_member").hide("slide", { direction: "right" }, 150, function(){ - $("#team-table").show("slide", { direction: "left" }, 150, function() { - $("#new_team_member").remove(); - $(".add_new").show(); - }); - }); -} diff --git a/app/assets/stylesheets/gitlab_bootstrap/files.scss b/app/assets/stylesheets/gitlab_bootstrap/files.scss index 83903c538da..d39fdb27cd4 100644 --- a/app/assets/stylesheets/gitlab_bootstrap/files.scss +++ b/app/assets/stylesheets/gitlab_bootstrap/files.scss @@ -3,7 +3,7 @@ * */ .file_holder { - border:1px solid #CCC; + border:1px solid #BBB; margin-bottom:1em; @include solid_shade; diff --git a/app/assets/stylesheets/main.scss b/app/assets/stylesheets/main.scss index abd1ddf9bb8..80446a4c599 100644 --- a/app/assets/stylesheets/main.scss +++ b/app/assets/stylesheets/main.scss @@ -1,13 +1,13 @@ @import "bootstrap"; @import "bootstrap-responsive"; -/** GITLAB colors **/ +/** GitLab colors **/ $link_color:#3A89A3; $blue_link: #2fa0bb; $style_color: #474d57; $hover: #fdf5d9; -/** GITLAB Fonts **/ +/** GitLab Fonts **/ @font-face { font-family: Korolev; src: url('korolev-medium-compressed.otf'); } /** MIXINS **/ @@ -113,9 +113,9 @@ $hover: #fdf5d9; @import "themes/ui_modern.scss"; /** - * Gitlab bootstrap. + * GitLab bootstrap. * Overrides some styles of twitter bootstrap. - * Also give some common classes for gitlab app + * Also give some common classes for GitLab app */ @import "gitlab_bootstrap/common.scss"; @import "gitlab_bootstrap/typography.scss"; diff --git a/app/assets/stylesheets/sections/header.scss b/app/assets/stylesheets/sections/header.scss index d0fb662e69e..8328a5ab9a7 100644 --- a/app/assets/stylesheets/sections/header.scss +++ b/app/assets/stylesheets/sections/header.scss @@ -22,7 +22,7 @@ header { * */ .app_logo { - width:230px; + width:200px; float:left; position:relative; top:-5px; @@ -31,7 +31,7 @@ header { h1 { padding-top: 5px; - width:102px; + width:90px; background: url('logo_dark.png') no-repeat 0px -3px; float:left; margin-left:5px; diff --git a/app/assets/stylesheets/sections/nav.scss b/app/assets/stylesheets/sections/nav.scss index 097e819732d..6f6a0e8e29f 100644 --- a/app/assets/stylesheets/sections/nav.scss +++ b/app/assets/stylesheets/sections/nav.scss @@ -2,7 +2,7 @@ * Main Menu of Application * */ -ul.main_menu { +ul.main_menu { border-radius: 4px; margin: auto; margin:30px 0; @@ -12,7 +12,7 @@ ul.main_menu { position:relative; overflow:hidden; @include shade; - .count { + .count { position: relative; top: -1px; display: inline-block; @@ -29,12 +29,12 @@ ul.main_menu { border-radius: 8px; -moz-border-radius: 8px; } - .label { + .label { background:$hover; text-shadow:none; color:$style_color; } - li { + li { list-style-type: none; margin: 0; display: table-cell; @@ -43,7 +43,7 @@ ul.main_menu { border-left: 1px solid #EEE; border-bottom:2px solid #CFCFCF; - &:first-child{ + &:first-child{ -webkit-border-top-left-radius: 4px; -webkit-border-bottom-left-radius: 4px; -moz-border-radius-topleft: 4px; @@ -53,31 +53,31 @@ ul.main_menu { border-left: 0; } - &.current { + &.current { background-color:#D5D5D5; - border-bottom: 2px solid $style_color; + border-bottom: 1px solid #AAA; border-right: 1px solid #BBB; border-left: 1px solid #BBB; border-radius: 0 0 1px 1px; - &:first-child{ + &:first-child{ border-bottom:none; border-left:none; } } - &.home { - a { + &.home { + a { background: url(home_icon.PNG) no-repeat center center; text-indent:-9999px; min-width:20px; - img { + img { position:relative; top:4px; } } } } - a { + a { display: block; text-align: center; font-weight:bold; diff --git a/app/controllers/commits_controller.rb b/app/controllers/commits_controller.rb index 5e10a1b6ee7..4ab40c304dd 100644 --- a/app/controllers/commits_controller.rb +++ b/app/controllers/commits_controller.rb @@ -64,19 +64,14 @@ class CommitsController < ApplicationController @commit.to_patch, type: "text/plain", disposition: 'attachment', - filename: (@commit.id.to_s + ".patch") + filename: "#{@commit.id.patch}" ) end protected def load_refs - if params[:ref].blank? - @branch = params[:branch].blank? ? nil : params[:branch] - @tag = params[:tag].blank? ? nil : params[:tag] - @ref = @branch || @tag || @project.try(:default_branch) || 'master' - else - @ref = params[:ref] - end + @ref ||= params[:ref].presence || params[:branch].presence || params[:tag].presence + @ref ||= @ref || @project.try(:default_branch) || 'master' end end diff --git a/app/mailers/notify.rb b/app/mailers/notify.rb index 91136fee95e..0afc1d31ef4 100644 --- a/app/mailers/notify.rb +++ b/app/mailers/notify.rb @@ -111,18 +111,18 @@ class Notify < ActionMailer::Base # Examples # # >> subject('Lorem ipsum') - # => "gitlab | Lorem ipsum" + # => "GitLab | Lorem ipsum" # # # Automatically inserts Project name when @project is set # >> @project = Project.last # => # # >> subject('Lorem ipsum') - # => "gitlab | Lorem ipsum | Ruby on Rails" + # => "GitLab | Lorem ipsum | Ruby on Rails" # # # Accepts multiple arguments # >> subject('Lorem ipsum', 'Dolor sit amet') - # => "gitlab | Lorem ipsum | Dolor sit amet" + # => "GitLab | Lorem ipsum | Dolor sit amet" def subject(*extra) - "gitlab | " << extra.join(' | ') << (@project ? " | #{@project.name}" : "") + "GitLab | " << extra.join(' | ') << (@project ? " | #{@project.name}" : "") end end diff --git a/app/views/errors/gitolite.html.haml b/app/views/errors/gitolite.html.haml index d5f51951d5e..699e6984db6 100644 --- a/app/views/errors/gitolite.html.haml +++ b/app/views/errors/gitolite.html.haml @@ -1,6 +1,6 @@ %h1 Git Error %hr -%h2 Gitlab was unable to access your Gitolite system. +%h2 GitLab was unable to access your Gitolite system. .git_error_tips %h4 Tips for Administrator: diff --git a/app/views/help/index.html.haml b/app/views/help/index.html.haml index 02549577282..962f2175126 100644 --- a/app/views/help/index.html.haml +++ b/app/views/help/index.html.haml @@ -30,7 +30,7 @@ %h5= link_to "API", help_api_path %li - %h5= link_to "Gitlab Markdown", help_markdown_path + %h5= link_to "GitLab Markdown", help_markdown_path %li %h5= link_to "SSH keys", help_ssh_path diff --git a/app/views/help/markdown.html.haml b/app/views/help/markdown.html.haml index 43d3d4b0f4a..15ad4a5b06b 100644 --- a/app/views/help/markdown.html.haml +++ b/app/views/help/markdown.html.haml @@ -1,4 +1,4 @@ -%h3.page_title Gitlab Flavored Markdown +%h3.page_title GitLab Flavored Markdown .back_link = link_to help_path do ← to index @@ -7,7 +7,7 @@ .row .span8 %p - For Gitlab we developed something we call "Gitlab Flavored Markdown" (GFM). + For GitLab we developed something we call "GitLab Flavored Markdown" (GFM). It extends the standard Markdown in a few significant ways adds some useful functionality. %p You can use GFM in: @@ -62,7 +62,7 @@ %p becomes = markdown %Q{```ruby\nrequire 'redcarpet'\nmarkdown = Redcarpet.new("Hello World!")\nputs markdown.to_html\n```} - %h4 Special Gitlab references + %h4 Special GitLab references %p GFM recognizes special references. diff --git a/app/views/help/ssh.html.haml b/app/views/help/ssh.html.haml index 6a5812040e7..3f082333a76 100644 --- a/app/views/help/ssh.html.haml +++ b/app/views/help/ssh.html.haml @@ -5,7 +5,7 @@ %hr %p.slead - SSH key allows you to establish a secure connection between your computer and Gitlab + SSH key allows you to establish a secure connection between your computer and GitLab %p.slead To generate a new SSH key just open your terminal and use code below. @@ -17,7 +17,7 @@ \# Generating public/private rsa key pair... %p.slead - Next just use code below to dump your public key and add to GITLAB SSH Keys + Next just use code below to dump your public key and add to GitLab SSH Keys %pre.dark cat ~/.ssh/id_rsa.pub diff --git a/app/views/help/system_hooks.html.haml b/app/views/help/system_hooks.html.haml index 9fc8cbabf17..736c818bc57 100644 --- a/app/views/help/system_hooks.html.haml +++ b/app/views/help/system_hooks.html.haml @@ -5,7 +5,7 @@ %hr %p.slead - Your Gitlab instance can perform HTTP POST request on next event: create_project, delete_project, create_user, delete_user, change_team_member. + Your GitLab instance can perform HTTP POST request on next event: create_project, delete_project, create_user, delete_user, change_team_member. %br System Hooks can be used for logging or change information in LDAP server. %br diff --git a/app/views/help/web_hooks.html.haml b/app/views/help/web_hooks.html.haml index 263eadf6583..65036613fa7 100644 --- a/app/views/help/web_hooks.html.haml +++ b/app/views/help/web_hooks.html.haml @@ -5,11 +5,11 @@ %hr %p.slead - Every Gitlab project can trigger a web server whenever the repo is pushed to. + Every GitLab project can trigger a web server whenever the repo is pushed to. %br Web Hooks can be used to update an external issue tracker, trigger CI builds, update a backup mirror, or even deploy to your production server. %br - GITLAB will send POST request with commits information on every push. + GitLab will send POST request with commits information on every push. %h5 Hooks request example: = render "hooks/data_ex" diff --git a/app/views/help/workflow.html.haml b/app/views/help/workflow.html.haml index a3fe3b01d46..6062ca091bd 100644 --- a/app/views/help/workflow.html.haml +++ b/app/views/help/workflow.html.haml @@ -24,7 +24,7 @@ git commit -am "My feature is ready" %li - %p Push your branch to gitlabhq + %p Push your branch to GitLab .bash %pre.dark git push origin $feature_name diff --git a/app/views/hooks/_data_ex.html.erb b/app/views/hooks/_data_ex.html.erb index e43714e965b..7dd6b9e0750 100644 --- a/app/views/hooks/_data_ex.html.erb +++ b/app/views/hooks/_data_ex.html.erb @@ -32,7 +32,7 @@ :timestamp => "2012-01-03T23:36:29+02:00", :url => "http://localhost/diaspora/commits/da1560886d...", :author => { - :name => "gitlab dev user", + :name => "GitLab dev user", :email => "gitlabdev@dv6700.(none)" } } diff --git a/app/views/issues/_form.html.haml b/app/views/issues/_form.html.haml index db7920b993d..23de7e8ed15 100644 --- a/app/views/issues/_form.html.haml +++ b/app/views/issues/_form.html.haml @@ -38,7 +38,7 @@ = f.label :description, "Details" .input = f.text_area :description, maxlength: 2000, class: "xxlarge", rows: 14 - %p.hint Issues are parsed with #{link_to "Gitlab Flavored Markdown", help_markdown_path, target: '_blank'}. + %p.hint Issues are parsed with #{link_to "GitLab Flavored Markdown", help_markdown_path, target: '_blank'}. .actions diff --git a/app/views/keys/index.html.haml b/app/views/keys/index.html.haml index 8f7e2bab1b4..3e919c5c419 100644 --- a/app/views/keys/index.html.haml +++ b/app/views/keys/index.html.haml @@ -4,7 +4,7 @@ %hr %p.slead - SSH key allows you to establish a secure connection between your computer and Gitlab + SSH key allows you to establish a secure connection between your computer and GitLab %table#keys-table diff --git a/app/views/layouts/notify.html.haml b/app/views/layouts/notify.html.haml index a1938df43a1..7b79897b653 100644 --- a/app/views/layouts/notify.html.haml +++ b/app/views/layouts/notify.html.haml @@ -2,7 +2,7 @@ %head %meta{content: "text/html; charset=utf-8", "http-equiv" => "Content-Type"} %title - gitlabhq + GitLab :css .header h1 {color: #BBBBBB !important; font: bold 32px Helvetica, Arial, sans-serif; margin: 0; padding: 0; line-height: 40px;} .header p {color: #c6c6c6; font: normal 12px Helvetica, Arial, sans-serif; margin: 0; padding: 0; line-height: 18px;} @@ -21,7 +21,7 @@ \  %td{align: "left", style: "padding: 18px 0 10px;", width: "580"} %h1{style: "color: #BBBBBB; font: normal 32px Helvetica, Arial, sans-serif; margin: 0; padding: 0; line-height: 40px;"} - gitlab + GITLAB - if @project | #{@project.name} %table{align: "center", bgcolor: "#fff", border: "0", cellpadding: "0", cellspacing: "0", style: "font-family: Helvetica, Arial, sans-serif; background: #fff;", width: "600"} diff --git a/app/views/milestones/_form.html.haml b/app/views/milestones/_form.html.haml index 41cbd6abcad..ce4145ba3e6 100644 --- a/app/views/milestones/_form.html.haml +++ b/app/views/milestones/_form.html.haml @@ -22,7 +22,7 @@ = f.label :description, "Description", class: "control-label" .controls = f.text_area :description, maxlength: 2000, class: "input-xlarge", rows: 10 - %p.hint Milestones are parsed with #{link_to "Gitlab Flavored Markdown", help_markdown_path, target: '_blank'}. + %p.hint Milestones are parsed with #{link_to "GitLab Flavored Markdown", help_markdown_path, target: '_blank'}. .span6 .control-group = f.label :due_date, "Due Date", class: "control-label" diff --git a/app/views/notes/_form.html.haml b/app/views/notes/_form.html.haml index 7211a0ae471..6d559cfc790 100644 --- a/app/views/notes/_form.html.haml +++ b/app/views/notes/_form.html.haml @@ -11,7 +11,7 @@ = f.text_area :note, size: 255, class: 'note-text' #preview-note.preview_note.hide .hint - .right Comments are parsed with #{link_to "Gitlab Flavored Markdown", help_markdown_path, target: '_blank'}. + .right Comments are parsed with #{link_to "GitLab Flavored Markdown", help_markdown_path, target: '_blank'}. .clearfix .row.note_advanced_opts.hide diff --git a/app/views/notify/new_user_email.html.haml b/app/views/notify/new_user_email.html.haml index d96afc92fe2..93bf7c50229 100644 --- a/app/views/notify/new_user_email.html.haml +++ b/app/views/notify/new_user_email.html.haml @@ -6,7 +6,7 @@ %h2{style: "color:#646464; font-weight: bold; margin: 0; padding: 0; line-height: 26px; font-size: 18px; font-family: Helvetica, Arial, sans-serif; "} Hi #{@user['name']}! %p{style: "color:#767676; font-weight: normal; margin: 0; padding: 0; line-height: 20px; font-size: 12px;font-family: Helvetica, Arial, sans-serif; "} - Administrator created account for you. Now you are a member of company gitlab application. + Administrator created account for you. Now you are a member of company GitLab application. %td{style: "font-size: 1px; line-height: 1px;", width: "21"} %tr %td{style: "font-size: 1px; line-height: 1px;", width: "21"} diff --git a/app/views/wikis/_form.html.haml b/app/views/wikis/_form.html.haml index 12b57e032a4..b05d0a78992 100644 --- a/app/views/wikis/_form.html.haml +++ b/app/views/wikis/_form.html.haml @@ -14,7 +14,7 @@ .middle_box_content .input %span.cgray - Wiki content is parsed with #{link_to "Gitlab Flavored Markdown", help_markdown_path, target: '_blank'}. + Wiki content is parsed with #{link_to "GitLab Flavored Markdown", help_markdown_path, target: '_blank'}. To link to a (new) page you can just type %code [Link Title](page-slug) \. diff --git a/doc/api/README.md b/doc/api/README.md index dece3e23619..93919b42852 100644 --- a/doc/api/README.md +++ b/doc/api/README.md @@ -1,4 +1,4 @@ -# Gitlab API +# GitLab API All API requests require authentication. You need to pass a `private_token` parameter to authenticate. You can find or reset your private token in your profile. @@ -10,7 +10,7 @@ If no, or an invalid, `private_token` is provided then an error message will be } ``` -API requests should be prefixed with `api` and the API version. The API version is equal to the Gitlab major version number, which is defined in `lib/api.rb`. +API requests should be prefixed with `api` and the API version. The API version is equal to the GitLab major version number, which is defined in `lib/api.rb`. Example of a valid API request: diff --git a/doc/installation.md b/doc/installation.md index 327fc192822..e14ec711e7b 100644 --- a/doc/installation.md +++ b/doc/installation.md @@ -167,7 +167,7 @@ and ensure you have followed all of the above steps carefully. # Login to MySQL $ mysql -u root -p - # Create the gitlabhq production database + # Create the GitLab production database mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`; # Create the MySQL User change $password to a real password diff --git a/features/projects/issues/issues.feature b/features/projects/issues/issues.feature index 180710cf6bc..42a3d8736e0 100644 --- a/features/projects/issues/issues.feature +++ b/features/projects/issues/issues.feature @@ -4,7 +4,7 @@ Feature: Issues And I own project "Shop" And project "Shop" have "Release 0.4" open issue And project "Shop" have "Release 0.3" closed issue - And I visit project "Shop" issues page + And I visit project "Shop" issues page Scenario: I should see open issues Given I should see "Release 0.4" in issues @@ -36,3 +36,31 @@ Feature: Issues Given I visit issue page "Release 0.4" And I leave a comment like "XML attached" Then I should see comment "XML attached" + + @javascript + Scenario: I search issue + Given I fill in issue search with "Release" + Then I should see "Release 0.4" in issues + And I should not see "Release 0.3" in issues + + @javascript + Scenario: I search issue that not exist + Given I fill in issue search with "Bug" + Then I should not see "Release 0.4" in issues + And I should not see "Release 0.3" in issues + + + @javascript + Scenario: I search all issues + Given I click link "All" + And I fill in issue search with "0.3" + Then I should see "Release 0.3" in issues + And I should not see "Release 0.4" in issues + + @javascript + Scenario: I clear search + Given I click link "All" + And I fill in issue search with "Something" + And I fill in issue search with "" + Then I should see "Release 0.4" in issues + And I should see "Release 0.3" in issues diff --git a/features/step_definitions/common_steps.rb b/features/step_definitions/common_steps.rb new file mode 100644 index 00000000000..e9023f9278f --- /dev/null +++ b/features/step_definitions/common_steps.rb @@ -0,0 +1,21 @@ +include LoginHelpers + +Given /^I signin as a user$/ do + login_as :user +end + +When /^I click link "(.*?)"$/ do |link| + click_link link +end + +When /^I click button "(.*?)"$/ do |button| + click_button button +end + +When /^I fill in "(.*?)" with "(.*?)"$/ do |field, value| + fill_in field, :with => value +end + +Given /^show me page$/ do + save_and_open_page +end diff --git a/features/step_definitions/dashboard_steps.rb b/features/step_definitions/dashboard_steps.rb index a4edd224dc0..867233c82cb 100644 --- a/features/step_definitions/dashboard_steps.rb +++ b/features/step_definitions/dashboard_steps.rb @@ -1,7 +1,3 @@ -Given /^I visit dashboard page$/ do - visit dashboard_path -end - Then /^I should see "(.*?)" link$/ do |arg1| page.should have_link(arg1) end @@ -51,10 +47,10 @@ Then /^I click "(.*?)" link$/ do |arg1| end Then /^I see prefilled new Merge Request page$/ do - current_path.should == new_project_merge_request_path(@project) - find("#merge_request_source_branch").value.should == "new_design" - find("#merge_request_target_branch").value.should == "master" - find("#merge_request_title").value.should == "New Design" + current_path.should == new_project_merge_request_path(@project) + find("#merge_request_source_branch").value.should == "new_design" + find("#merge_request_target_branch").value.should == "master" + find("#merge_request_title").value.should == "New Design" end Given /^I visit dashboard search page$/ do @@ -66,10 +62,6 @@ Given /^I search for "(.*?)"$/ do |arg1| click_button "Search" end -Given /^I visit dashboard issues page$/ do - visit dashboard_issues_path -end - Then /^I should see issues assigned to me$/ do issues = @user.issues issues.each do |issue| @@ -78,10 +70,6 @@ Then /^I should see issues assigned to me$/ do end end -Given /^I visit dashboard merge requests page$/ do - visit dashboard_merge_requests_path -end - Then /^I should see my merge requests$/ do merge_requests = @user.merge_requests merge_requests.each do |mr| diff --git a/features/step_definitions/profile/profile_steps.rb b/features/step_definitions/profile/profile_steps.rb index 4661139c180..525d43f5fda 100644 --- a/features/step_definitions/profile/profile_steps.rb +++ b/features/step_definitions/profile/profile_steps.rb @@ -1,17 +1,9 @@ -Given /^I visit profile page$/ do - visit profile_path -end - Then /^I should see my profile info$/ do page.should have_content "Profile" page.should have_content @user.name page.should have_content @user.email end -Given /^I visit profile password page$/ do - visit profile_password_path -end - Then /^I change my password$/ do fill_in "user_password", :with => "222333" fill_in "user_password_confirmation", :with => "222333" @@ -22,10 +14,6 @@ Then /^I should be redirected to sign in page$/ do current_path.should == new_user_session_path end -Given /^I visit profile token page$/ do - visit profile_token_path -end - Then /^I reset my token$/ do @old_token = @user.private_token click_button "Reset" diff --git a/features/step_definitions/project/browse_code_steps.rb b/features/step_definitions/project/browse_code_steps.rb index 7f9001bb989..d2ed9a0af28 100644 --- a/features/step_definitions/project/browse_code_steps.rb +++ b/features/step_definitions/project/browse_code_steps.rb @@ -1,17 +1,9 @@ -Given /^I visit project source page$/ do - visit tree_project_ref_path(@project, @project.root_ref) -end - Then /^I should see files from repository$/ do page.should have_content("app") page.should have_content("History") page.should have_content("Gemfile") end -Given /^I visit project source page for "(.*?)"$/ do |arg1| - visit tree_project_ref_path(@project, arg1) -end - Then /^I should see files from repository for "(.*?)"$/ do |arg1| current_path.should == tree_project_ref_path(@project, arg1) page.should have_content("app") @@ -31,10 +23,6 @@ Given /^I click on raw button$/ do click_link "raw" end -Given /^I visit blob file from repo$/ do - visit tree_project_ref_path(@project, ValidCommit::ID, :path => ValidCommit::BLOB_FILE_PATH) -end - Then /^I should see raw file content$/ do page.source.should == ValidCommit::BLOB_FILE end diff --git a/features/step_definitions/project/project_commits_steps.rb b/features/step_definitions/project/project_commits_steps.rb index 35fcb4d11ab..7f20ade41d1 100644 --- a/features/step_definitions/project/project_commits_steps.rb +++ b/features/step_definitions/project/project_commits_steps.rb @@ -1,7 +1,3 @@ -Given /^I visit project commits page$/ do - visit project_commits_path(@project) -end - Then /^I see project commits$/ do current_path.should == project_commits_path(@project) @@ -23,19 +19,11 @@ Then /^I see commits atom feed$/ do page.body.should have_selector("entry summary", :text => commit.description) end -Given /^I click on commit link$/ do - visit project_commit_path(@project, ValidCommit::ID) -end - Then /^I see commit info$/ do page.should have_content ValidCommit::MESSAGE page.should have_content "Showing 1 changed file" end -Given /^I visit compare refs page$/ do - visit compare_project_commits_path(@project) -end - Given /^I fill compare fields with refs$/ do fill_in "from", :with => "master" fill_in "to", :with => "stable" @@ -48,18 +36,6 @@ Given /^I see compared refs$/ do page.should have_content "Showing 73 changed files" end -Given /^I visit project branches page$/ do - visit branches_project_repository_path(@project) -end - -Given /^I visit project commit page$/ do - visit project_commit_path(@project, ValidCommit::ID) -end - -Given /^I visit project tags page$/ do - visit tags_project_repository_path(@project) -end - Then /^I should see "(.*?)" recent branches list$/ do |arg1| page.should have_content("Branches") page.should have_content("master") @@ -76,7 +52,7 @@ Then /^I should see "(.*?)" all tags list$/ do |arg1| end Then /^I should see "(.*?)" protected branches list$/ do |arg1| - within "table" do + within "table" do page.should have_content "stable" page.should_not have_content "master" end diff --git a/features/step_definitions/project/project_issues_steps.rb b/features/step_definitions/project/project_issues_steps.rb index 27de03d5489..e46c1f42f75 100644 --- a/features/step_definitions/project/project_issues_steps.rb +++ b/features/step_definitions/project/project_issues_steps.rb @@ -8,16 +8,12 @@ Given /^project "(.*?)" have "(.*?)" closed issue$/ do |arg1, arg2| Factory.create(:issue, :title => arg2, :project => project, :author => project.users.first, :closed => true) end -Given /^I visit project "(.*?)" issues page$/ do |arg1| - visit project_issues_path(Project.find_by_name(arg1)) -end - Given /^I should see "(.*?)" in issues$/ do |arg1| - page.should have_content arg1 + page.should have_content arg1 end Given /^I should not see "(.*?)" in issues$/ do |arg1| - page.should_not have_content arg1 + page.should_not have_content arg1 end Then /^I should see issue "(.*?)"$/ do |arg1| @@ -27,11 +23,6 @@ Then /^I should see issue "(.*?)"$/ do |arg1| page.should have_content issue.project.name end -Given /^I visit issue page "(.*?)"$/ do |arg1| - issue = Issue.find_by_title(arg1) - visit project_issue_path(issue.project, issue) -end - Given /^I submit new issue "(.*?)"$/ do |arg1| fill_in "issue_title", with: arg1 click_button "Submit new issue" @@ -51,7 +42,16 @@ Given /^I visit project "(.*?)" labels page$/ do |arg1| end Then /^I should see label "(.*?)"$/ do |arg1| - within ".labels-table" do + within ".labels-table" do page.should have_content arg1 end end + +Given /^I fill in issue search with "(.*?)"$/ do |arg1| + # Because fill_in, with: "" triggers nothing + # we need to trigger a keyup event + if arg1 == '' + page.execute_script("$('.issue_search').val('').keyup();"); + end + fill_in 'issue_search', with: arg1 +end diff --git a/features/step_definitions/project/project_merge_requests_steps.rb b/features/step_definitions/project/project_merge_requests_steps.rb index 2bdb967d3c5..fddb18add08 100644 --- a/features/step_definitions/project/project_merge_requests_steps.rb +++ b/features/step_definitions/project/project_merge_requests_steps.rb @@ -8,21 +8,17 @@ Given /^project "(.*?)" have "(.*?)" closed merge request$/ do |arg1, arg2| Factory.create(:merge_request, :title => arg2, :project => project, :author => project.users.first, :closed => true) end -Given /^I visit project "(.*?)" merge requests page$/ do |arg1| - visit project_merge_requests_path(Project.find_by_name(arg1)) -end - Then /^I should see "(.*?)" in merge requests$/ do |arg1| - page.should have_content arg1 + page.should have_content arg1 end Then /^I should not see "(.*?)" in merge requests$/ do |arg1| - page.should_not have_content arg1 + page.should_not have_content arg1 end Then /^I should see merge request "(.*?)"$/ do |arg1| merge_request = MergeRequest.find_by_title(arg1) - page.should have_content(merge_request.title[0..10]) + page.should have_content(merge_request.title[0..10]) page.should have_content(merge_request.target_branch) page.should have_content(merge_request.source_branch) end @@ -34,11 +30,6 @@ Given /^I submit new merge request "(.*?)"$/ do |arg1| click_button "Save" end -Given /^I visit merge request page "(.*?)"$/ do |arg1| - mr = MergeRequest.find_by_title(arg1) - visit project_merge_request_path(mr.project, mr) -end - Then /^I should see closed merge request "(.*?)"$/ do |arg1| mr = MergeRequest.find_by_title(arg1) mr.closed.should be_true diff --git a/features/step_definitions/project/project_milestones_steps.rb b/features/step_definitions/project/project_milestones_steps.rb index 6749773e2b5..936c52df8d7 100644 --- a/features/step_definitions/project/project_milestones_steps.rb +++ b/features/step_definitions/project/project_milestones_steps.rb @@ -12,11 +12,6 @@ Given /^project "(.*?)" has milestone "(.*?)"$/ do |arg1, arg2| end end -Given /^I visit project "(.*?)" milestones page$/ do |arg1| - @project = Project.find_by_name(arg1) - visit project_milestones_path(@project) -end - Then /^I should see active milestones$/ do milestone = @project.milestones.first page.should have_content(milestone.title[0..10]) diff --git a/features/step_definitions/project/project_team_steps.rb b/features/step_definitions/project/project_team_steps.rb index f0bab29a6f8..0979a6ea8c3 100644 --- a/features/step_definitions/project/project_team_steps.rb +++ b/features/step_definitions/project/project_team_steps.rb @@ -8,10 +8,6 @@ Given /^"(.*?)" is "(.*?)" developer$/ do |arg1, arg2| project.add_access(user, :write) end -Given /^I visit project "(.*?)" team page$/ do |arg1| - visit team_project_path(Project.find_by_name(arg1)) -end - Then /^I should be able to see myself in team$/ do page.should have_content(@user.name) page.should have_content(@user.email) @@ -23,13 +19,9 @@ Then /^I should see "(.*?)" in team list$/ do |arg1| page.should have_content(user.email) end -Given /^I click link "(.*?)"$/ do |arg1| - click_link arg1 -end - Given /^I select "(.*?)" as "(.*?)"$/ do |arg1, arg2| user = User.find_by_name(arg1) - within "#new_team_member" do + within "#new_team_member" do select user.name, :from => "team_member_user_id" select arg2, :from => "team_member_project_access" end @@ -44,7 +36,7 @@ end Given /^I change "(.*?)" role to "(.*?)"$/ do |arg1, arg2| user = User.find_by_name(arg1) - within ".user_#{user.id}" do + within ".user_#{user.id}" do select arg2, :from => "team_member_project_access" end end diff --git a/features/step_definitions/project/project_wiki_steps.rb b/features/step_definitions/project/project_wiki_steps.rb index 10de38d9ae3..31fc050aa4c 100644 --- a/features/step_definitions/project/project_wiki_steps.rb +++ b/features/step_definitions/project/project_wiki_steps.rb @@ -1,7 +1,3 @@ -Given /^I visit project wiki page$/ do - visit project_wiki_path(@project, :index) -end - Given /^I create Wiki page$/ do fill_in "Title", :with => 'Test title' fill_in "Content", :with => '[link test](test)' diff --git a/features/step_definitions/project/projects_steps.rb b/features/step_definitions/project/projects_steps.rb index d981e1f3802..d22b805f1df 100644 --- a/features/step_definitions/project/projects_steps.rb +++ b/features/step_definitions/project/projects_steps.rb @@ -1,9 +1,3 @@ -include LoginHelpers - -Given /^I signin as a user$/ do - login_as :user -end - When /^I visit new project page$/ do visit new_project_path end @@ -65,10 +59,6 @@ Given /^I visit project "(.*?)" network page$/ do |arg1| visit graph_project_path(project) end -Given /^show me page$/ do - save_and_open_page -end - Given /^page should have network graph$/ do page.should have_content "Project Network Graph" within ".graph" do diff --git a/features/step_definitions/visit_steps.rb b/features/step_definitions/visit_steps.rb new file mode 100644 index 00000000000..35fc6d44a15 --- /dev/null +++ b/features/step_definitions/visit_steps.rb @@ -0,0 +1,91 @@ +Given /^I visit project "(.*?)" issues page$/ do |arg1| + visit project_issues_path(Project.find_by_name(arg1)) +end + +Given /^I visit issue page "(.*?)"$/ do |arg1| + issue = Issue.find_by_title(arg1) + visit project_issue_path(issue.project, issue) +end + +Given /^I visit project "(.*?)" merge requests page$/ do |arg1| + visit project_merge_requests_path(Project.find_by_name(arg1)) +end + +Given /^I visit merge request page "(.*?)"$/ do |arg1| + mr = MergeRequest.find_by_title(arg1) + visit project_merge_request_path(mr.project, mr) +end + +Given /^I visit project "(.*?)" milestones page$/ do |arg1| + @project = Project.find_by_name(arg1) + visit project_milestones_path(@project) +end + +Given /^I visit project commits page$/ do + visit project_commits_path(@project) +end + +Given /^I visit compare refs page$/ do + visit compare_project_commits_path(@project) +end + +Given /^I visit project branches page$/ do + visit branches_project_repository_path(@project) +end + +Given /^I visit project commit page$/ do + visit project_commit_path(@project, ValidCommit::ID) +end + +Given /^I visit project tags page$/ do + visit tags_project_repository_path(@project) +end + +Given /^I click on commit link$/ do + visit project_commit_path(@project, ValidCommit::ID) +end + +Given /^I visit project source page$/ do + visit tree_project_ref_path(@project, @project.root_ref) +end + +Given /^I visit project source page for "(.*?)"$/ do |arg1| + visit tree_project_ref_path(@project, arg1) +end + +Given /^I visit blob file from repo$/ do + visit tree_project_ref_path(@project, ValidCommit::ID, :path => ValidCommit::BLOB_FILE_PATH) +end + +Given /^I visit project "(.*?)" team page$/ do |arg1| + visit team_project_path(Project.find_by_name(arg1)) +end + +Given /^I visit project wiki page$/ do + visit project_wiki_path(@project, :index) +end + +Given /^I visit profile page$/ do + visit profile_path +end + +Given /^I visit profile token page$/ do + visit profile_token_path +end + +Given /^I visit profile password page$/ do + visit profile_password_path +end + +Given /^I visit dashboard page$/ do + visit dashboard_path +end + +Given /^I visit dashboard issues page$/ do + visit dashboard_issues_path +end + +Given /^I visit dashboard merge requests page$/ do + visit dashboard_merge_requests_path +end + diff --git a/lib/gitlab/backend/gitolite.rb b/lib/gitlab/backend/gitolite.rb index b69f4663c35..3dfb574c4d5 100644 --- a/lib/gitlab/backend/gitolite.rb +++ b/lib/gitlab/backend/gitolite.rb @@ -170,7 +170,7 @@ module Gitlab def push Dir.chdir(File.join(@local_dir, "gitolite")) `git add -A` - `git commit -am "Gitlab"` + `git commit -am "GitLab"` `git push` Dir.chdir(Rails.root) diff --git a/lib/gitlab/markdown.rb b/lib/gitlab/markdown.rb index 5fa921239ad..2af2e9be652 100644 --- a/lib/gitlab/markdown.rb +++ b/lib/gitlab/markdown.rb @@ -1,8 +1,8 @@ module Gitlab - # Custom parser for Gitlab-flavored Markdown + # Custom parser for GitLab-flavored Markdown # # It replaces references in the text with links to the appropriate items in - # Gitlab. + # GitLab. # # Supported reference formats are: # * @foo for team members diff --git a/lib/hooks/post-receive b/lib/hooks/post-receive index d38bd13e19d..a4fa9f1c234 100755 --- a/lib/hooks/post-receive +++ b/lib/hooks/post-receive @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# This file was placed here by Gitlab. It makes sure that your pushed commits +# This file was placed here by GitLab. It makes sure that your pushed commits # will be processed properly. while read oldrev newrev ref diff --git a/lib/tasks/gitlab/write_hook.rake b/lib/tasks/gitlab/write_hook.rake index 9ec9c8383e2..5e9fc8eb3d1 100644 --- a/lib/tasks/gitlab/write_hook.rake +++ b/lib/tasks/gitlab/write_hook.rake @@ -1,6 +1,6 @@ namespace :gitlab do namespace :gitolite do - desc "GITLAB | Write GITLAB hook for gitolite" + desc "GITLAB | Write GitLab hook for gitolite" task :write_hooks => :environment do gitolite_hooks_path = File.join(Gitlab.config.git_hooks_path, "common") gitlab_hooks_path = Rails.root.join("lib", "hooks") diff --git a/spec/factories_spec.rb b/spec/factories_spec.rb index 5760aad423b..5ccc17bddc9 100644 --- a/spec/factories_spec.rb +++ b/spec/factories_spec.rb @@ -1,91 +1,9 @@ require 'spec_helper' -describe "Factories" do - describe 'User' do - it "builds a valid instance" do - build(:user).should be_valid - end - - it "builds a valid admin instance" do - build(:admin).should be_valid - end - end - - describe 'Project' do - it "builds a valid instance" do - build(:project).should be_valid - end - end - - describe 'Issue' do - it "builds a valid instance" do - build(:issue).should be_valid - end - - it "builds a valid closed instance" do - build(:closed_issue).should be_valid - end - end - - describe 'MergeRequest' do - it "builds a valid instance" do - build(:merge_request).should be_valid - end - end - - describe 'Note' do - it "builds a valid instance" do - build(:note).should be_valid - end - end - - describe 'Event' do - it "builds a valid instance" do - build(:event).should be_valid - end - end - - describe 'Key' do - it "builds a valid instance" do - build(:key).should be_valid - end - - it "builds a valid deploy key instance" do - build(:deploy_key).should be_valid - end - - it "builds a valid personal key instance" do - build(:personal_key).should be_valid - end - end - - describe 'Milestone' do - it "builds a valid instance" do - build(:milestone).should be_valid - end - end - - describe 'SystemHook' do - it "builds a valid instance" do - build(:system_hook).should be_valid - end - end - - describe 'ProjectHook' do - it "builds a valid instance" do - build(:project_hook).should be_valid - end - end - - describe 'Wiki' do - it "builds a valid instance" do - build(:wiki).should be_valid - end - end - - describe 'Snippet' do - it "builds a valid instance" do - build(:snippet).should be_valid +FactoryGirl.factories.map(&:name).each do |factory_name| + describe "#{factory_name} factory" do + it 'should be valid' do + build(factory_name).should be_valid end end end diff --git a/spec/mailers/notify_spec.rb b/spec/mailers/notify_spec.rb index cf50b429f23..4a9f142e50d 100644 --- a/spec/mailers/notify_spec.rb +++ b/spec/mailers/notify_spec.rb @@ -24,7 +24,7 @@ describe Notify do end it 'has the correct subject' do - should have_subject /^gitlab \| Account was created for you$/ + should have_subject /^gitlab \| Account was created for you$/i end it 'contains the new user\'s login name' do