Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boxiang Sun
gitlab-ce
Commits
a0755d2f
Commit
a0755d2f
authored
Aug 07, 2014
by
Dmitriy Zaporozhets
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix tests
Signed-off-by:
Dmitriy Zaporozhets
<
dmitriy.zaporozhets@gmail.com
>
parent
fe228b89
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
158 additions
and
156 deletions
+158
-156
spec/controllers/blob_controller_spec.rb
spec/controllers/blob_controller_spec.rb
+2
-2
spec/controllers/tree_controller_spec.rb
spec/controllers/tree_controller_spec.rb
+2
-2
spec/features/notes_on_merge_requests_spec.rb
spec/features/notes_on_merge_requests_spec.rb
+151
-139
spec/models/project_wiki_spec.rb
spec/models/project_wiki_spec.rb
+3
-13
No files found.
spec/controllers/blob_controller_spec.rb
View file @
a0755d2f
...
@@ -44,8 +44,8 @@ describe Projects::BlobController do
...
@@ -44,8 +44,8 @@ describe Projects::BlobController do
end
end
context
'redirect to tree'
do
context
'redirect to tree'
do
let
(
:id
)
{
'ma
ster
/doc'
}
let
(
:id
)
{
'ma
rkdown
/doc'
}
it
{
should
redirect_to
(
"/
#{
project
.
path_with_namespace
}
/tree/ma
ster
/doc"
)
}
it
{
should
redirect_to
(
"/
#{
project
.
path_with_namespace
}
/tree/ma
rkdown
/doc"
)
}
end
end
end
end
end
end
spec/controllers/tree_controller_spec.rb
View file @
a0755d2f
...
@@ -26,7 +26,7 @@ describe Projects::TreeController do
...
@@ -26,7 +26,7 @@ describe Projects::TreeController do
end
end
context
"valid branch, valid path"
do
context
"valid branch, valid path"
do
let
(
:id
)
{
'master/
app
/'
}
let
(
:id
)
{
'master/
encoding
/'
}
it
{
should
respond_with
(
:success
)
}
it
{
should
respond_with
(
:success
)
}
end
end
...
@@ -36,7 +36,7 @@ describe Projects::TreeController do
...
@@ -36,7 +36,7 @@ describe Projects::TreeController do
end
end
context
"invalid branch, valid path"
do
context
"invalid branch, valid path"
do
let
(
:id
)
{
'invalid-branch/
app
/'
}
let
(
:id
)
{
'invalid-branch/
encoding
/'
}
it
{
should
respond_with
(
:not_found
)
}
it
{
should
respond_with
(
:not_found
)
}
end
end
end
end
...
...
spec/features/notes_on_merge_requests_spec.rb
View file @
a0755d2f
require
'spec_helper'
require
'spec_helper'
describe
"On a merge request"
,
js:
true
,
feature:
true
do
describe
'Comments'
do
let!
(
:merge_request
)
{
create
(
:merge_request
,
:simple
)
}
include
RepoHelpers
let!
(
:project
)
{
merge_request
.
source_project
}
let!
(
:note
)
{
create
(
:note_on_merge_request
,
:with_attachment
,
project:
project
)
}
before
do
login_as
:admin
visit
project_merge_request_path
(
project
,
merge_request
)
end
subject
{
page
}
describe
"On a merge request"
,
js:
true
,
feature:
true
do
let!
(
:merge_request
)
{
create
(
:merge_request
)
}
let!
(
:project
)
{
merge_request
.
source_project
}
let!
(
:note
)
{
create
(
:note_on_merge_request
,
:with_attachment
,
project:
project
)
}
describe
"the note form"
do
before
do
it
'should be valid'
do
login_as
:admin
should
have_css
(
".js-main-target-form"
,
visible:
true
,
count:
1
)
visit
project_merge_request_path
(
project
,
merge_request
)
find
(
".js-main-target-form input[type=submit]"
).
value
.
should
==
"Add Comment"
within
(
".js-main-target-form"
)
{
should_not
have_link
(
"Cancel"
)
}
within
(
".js-main-target-form"
)
{
should
have_css
(
".js-note-preview-button"
,
visible:
false
)
}
end
end
describe
"with text"
do
subject
{
page
}
before
do
within
(
".js-main-target-form"
)
do
fill_in
"note[note]"
,
with:
"This is awesome"
end
end
it
'should have enable submit button and preview button'
do
describe
"the note form"
do
within
(
".js-main-target-form"
)
{
should_not
have_css
(
".js-comment-button[disabled]"
)
}
it
'should be valid'
do
within
(
".js-main-target-form"
)
{
should
have_css
(
".js-note-preview-button"
,
visible:
true
)
}
should
have_css
(
".js-main-target-form"
,
visible:
true
,
count:
1
)
find
(
".js-main-target-form input[type=submit]"
).
value
.
should
==
"Add Comment"
within
(
".js-main-target-form"
)
{
should_not
have_link
(
"Cancel"
)
}
within
(
".js-main-target-form"
)
{
should
have_css
(
".js-note-preview-button"
,
visible:
false
)
}
end
end
end
end
describe
"when posting a note"
do
describe
"with text"
do
before
do
before
do
within
(
".js-main-target-form"
)
do
within
(
".js-main-target-form"
)
do
fill_in
"note[note]"
,
with:
"This is awsome!"
fill_in
"note[note]"
,
with:
"This is awesome"
find
(
".js-note-preview-button"
).
trigger
(
"click"
)
end
click_button
"Add Comment"
end
it
'should have enable submit button and preview button'
do
within
(
".js-main-target-form"
)
{
should_not
have_css
(
".js-comment-button[disabled]"
)
}
within
(
".js-main-target-form"
)
{
should
have_css
(
".js-note-preview-button"
,
visible:
true
)
}
end
end
end
end
end
it
'should be added and form reset'
do
describe
"when posting a note"
do
should
have_content
(
"This is awsome!"
)
before
do
within
(
".js-main-target-form"
)
{
should
have_no_field
(
"note[note]"
,
with:
"This is awesome!"
)
}
within
(
".js-main-target-form"
)
do
within
(
".js-main-target-form"
)
{
should
have_css
(
".js-note-preview"
,
visible:
false
)
}
fill_in
"note[note]"
,
with:
"This is awsome!"
within
(
".js-main-target-form"
)
{
should
have_css
(
".js-note-text"
,
visible:
true
)
}
find
(
".js-note-preview-button"
).
trigger
(
"click"
)
end
click_button
"Add Comment"
end
end
end
describe
"when editing a note"
,
js:
true
do
it
'should be added and form reset'
do
it
"should contain the hidden edit form"
do
should
have_content
(
"This is awsome!"
)
within
(
"#note_
#{
note
.
id
}
"
)
{
should
have_css
(
".note-edit-form"
,
visible:
false
)
}
within
(
".js-main-target-form"
)
{
should
have_no_field
(
"note[note]"
,
with:
"This is awesome!"
)
}
within
(
".js-main-target-form"
)
{
should
have_css
(
".js-note-preview"
,
visible:
false
)
}
within
(
".js-main-target-form"
)
{
should
have_css
(
".js-note-text"
,
visible:
true
)
}
end
end
end
describe
"editing the note"
do
describe
"when editing a note"
,
js:
true
do
before
do
it
"should contain the hidden edit form"
do
find
(
'.note'
).
hover
within
(
"#note_
#{
note
.
id
}
"
)
{
should
have_css
(
".note-edit-form"
,
visible:
false
)
}
find
(
".js-note-edit"
).
click
end
end
it
"should show the note edit form and hide the note body
"
do
describe
"editing the note
"
do
within
(
"#note_
#{
note
.
id
}
"
)
do
before
do
find
(
".note-edit-form"
,
visible:
true
).
should
be_visible
find
(
'.note'
).
hover
find
(
".
note-text"
,
visible:
false
).
should_not
be_visible
find
(
".
js-note-edit"
).
click
end
end
end
it
"should reset the edit note form textarea with the original content of the note if cancelled"
do
find
(
'.note'
).
hover
find
(
".js-note-edit"
).
click
within
(
".note-edit-form"
)
do
it
"should show the note edit form and hide the note body"
do
fill_in
"note[note]"
,
with:
"Some new content"
within
(
"#note_
#{
note
.
id
}
"
)
do
find
(
".btn-cancel"
).
click
find
(
".note-edit-form"
,
visible:
true
).
should
be_visible
find
(
".js-note-text"
,
visible:
false
).
text
.
should
==
note
.
note
find
(
".note-text"
,
visible:
false
).
should_not
be_visible
end
end
end
end
it
"appends the edited at time to the note
"
do
it
"should reset the edit note form textarea with the original content of the note if cancelled
"
do
find
(
'.note'
).
hover
find
(
'.note'
).
hover
find
(
".js-note-edit"
).
click
find
(
".js-note-edit"
).
click
within
(
".note-edit-form"
)
do
within
(
".note-edit-form"
)
do
fill_in
"note[note]"
,
with:
"Some new content"
fill_in
"note[note]"
,
with:
"Some new content"
find
(
".btn-save"
).
click
find
(
".btn-cancel"
).
click
find
(
".js-note-text"
,
visible:
false
).
text
.
should
==
note
.
note
end
end
end
within
(
"#note_
#{
note
.
id
}
"
)
do
it
"appends the edited at time to the note"
do
should
have_css
(
".note-last-update small"
)
find
(
'.note'
).
hover
find
(
".note-last-update small"
).
text
.
should
match
(
/Edited less than a minute ago/
)
find
(
".js-note-edit"
).
click
within
(
".note-edit-form"
)
do
fill_in
"note[note]"
,
with:
"Some new content"
find
(
".btn-save"
).
click
end
within
(
"#note_
#{
note
.
id
}
"
)
do
should
have_css
(
".note-last-update small"
)
find
(
".note-last-update small"
).
text
.
should
match
(
/Edited less than a minute ago/
)
end
end
end
end
end
end
describe
"deleting an attachment"
do
describe
"deleting an attachment"
do
before
do
before
do
find
(
'.note'
).
hover
find
(
'.note'
).
hover
find
(
".js-note-edit"
).
click
find
(
".js-note-edit"
).
click
end
end
it
"shows the delete link"
do
it
"shows the delete link"
do
within
(
".note-attachment"
)
do
within
(
".note-attachment"
)
do
should
have_css
(
".js-note-attachment-delete"
)
should
have_css
(
".js-note-attachment-delete"
)
end
end
end
end
it
"removes the attachment div and resets the edit form"
do
it
"removes the attachment div and resets the edit form"
do
find
(
".js-note-attachment-delete"
).
click
find
(
".js-note-attachment-delete"
).
click
should_not
have_css
(
".note-attachment"
)
should_not
have_css
(
".note-attachment"
)
find
(
".note-edit-form"
,
visible:
false
).
should_not
be_visible
find
(
".note-edit-form"
,
visible:
false
).
should_not
be_visible
end
end
end
end
end
end
end
end
describe
"On a merge request diff"
,
js:
true
,
feature:
true
do
let
(
:merge_request
)
{
create
(
:merge_request
,
:with_diffs
,
:simple
)
}
let
(
:project
)
{
merge_request
.
source_project
}
before
do
login_as
:admin
visit
diffs_project_merge_request_path
(
project
,
merge_request
)
end
subject
{
page
}
describe
"On a merge request diff"
,
js:
true
,
feature:
true
do
let
(
:merge_request
)
{
create
(
:merge_request
)
}
let
(
:project
)
{
merge_request
.
source_project
}
describe
"when adding a note"
do
before
do
before
do
find
(
'a[data-line-code="8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d_7_7"]'
).
click
login_as
:admin
end
visit
diffs_project_merge_request_path
(
project
,
merge_request
)
describe
"the notes holder"
do
it
{
should
have_css
(
".js-temp-notes-holder"
)
}
it
{
within
(
".js-temp-notes-holder"
)
{
should
have_css
(
".new_note"
)
}
}
end
end
describe
"the note form"
do
subject
{
page
}
it
"shouldn't add a second form for same row"
do
find
(
'a[data-line-code="8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d_7_7"]'
).
click
should
have_css
(
"tr[id='8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d_7_7'] + .js-temp-notes-holder form"
,
count:
1
)
describe
"when adding a note"
do
before
do
find
(
"a[data-line-code=
\"
#{
line_code
}
\"
]"
).
click
end
end
it
"should be removed when canceled"
do
describe
"the notes holder"
do
within
(
".diff-file form[rel$='8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d_7_7']"
)
do
it
{
should
have_css
(
".js-temp-notes-holder"
)
}
find
(
".js-close-discussion-note-form"
).
trigger
(
"click"
)
end
should
have_no_css
(
".js-temp-notes-holder"
)
it
{
within
(
".js-temp-notes-holder"
)
{
should
have_css
(
".new_note"
)
}
}
end
end
end
end
describe
"with muliple note forms"
do
describe
"the note form"
do
before
do
it
"shouldn't add a second form for same row"
do
find
(
'a[data-line-code="8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d_7_7"]'
).
click
find
(
"a[data-line-code=
\"
#{
line_code
}
\"
]"
).
click
find
(
'a[data-line-code="8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d_10_10"]'
).
click
end
it
{
should
have_css
(
".js-temp-notes-holder"
,
count:
2
)
}
should
have_css
(
"tr[id='
#{
line_code
}
'] + .js-temp-notes-holder form"
,
count:
1
)
describe
"previewing them separately"
do
before
do
# add two separate texts and trigger previews on both
within
(
"tr[id='8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d_7_7'] + .js-temp-notes-holder"
)
do
fill_in
"note[note]"
,
with:
"One comment on line 7"
find
(
".js-note-preview-button"
).
trigger
(
"click"
)
end
end
within
(
"tr[id='8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d_10_10'] + .js-temp-notes-holder"
)
do
fill_in
"note[note]"
,
with:
"Another comment on line 10"
it
"should be removed when canceled"
do
find
(
".js-note-preview-button"
).
trigger
(
"click"
)
within
(
".diff-file form[rel$='
#{
line_code
}
']"
)
do
find
(
".js-close-discussion-note-form"
).
trigger
(
"click"
)
end
should
have_no_css
(
".js-temp-notes-holder"
)
end
end
end
end
end
end
describe
"
posting a note
"
do
describe
"
with muliple note forms
"
do
before
do
before
do
within
(
"tr[id='8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d_10_10'] + .js-temp-notes-holder"
)
do
find
(
"a[data-line-code=
\"
#{
line_code
}
\"
]"
).
click
fill_in
"note[note]"
,
with:
"Another comment on line 10"
find
(
"a[data-line-code=
\"
#{
line_code_2
}
\"
]"
).
click
click_button
(
"Add Comment"
)
end
it
{
should
have_css
(
".js-temp-notes-holder"
,
count:
2
)
}
describe
"previewing them separately"
do
before
do
# add two separate texts and trigger previews on both
within
(
"tr[id='
#{
line_code
}
'] + .js-temp-notes-holder"
)
do
fill_in
"note[note]"
,
with:
"One comment on line 7"
find
(
".js-note-preview-button"
).
trigger
(
"click"
)
end
within
(
"tr[id='
#{
line_code_2
}
'] + .js-temp-notes-holder"
)
do
fill_in
"note[note]"
,
with:
"Another comment on line 10"
find
(
".js-note-preview-button"
).
trigger
(
"click"
)
end
end
end
end
end
it
'should be added as discussion'
do
describe
"posting a note"
do
should
have_content
(
"Another comment on line 10"
)
before
do
should
have_css
(
".notes_holder"
)
within
(
"tr[id='
#{
line_code_2
}
'] + .js-temp-notes-holder"
)
do
should
have_css
(
".notes_holder .note"
,
count:
1
)
fill_in
"note[note]"
,
with:
"Another comment on line 10"
should
have_link
(
"Reply"
)
click_button
(
"Add Comment"
)
end
end
it
'should be added as discussion'
do
should
have_content
(
"Another comment on line 10"
)
should
have_css
(
".notes_holder"
)
should
have_css
(
".notes_holder .note"
,
count:
1
)
should
have_link
(
"Reply"
)
end
end
end
end
end
end
end
def
line_code
sample_compare
.
changes
.
first
[
:line_code
]
end
def
line_code_2
sample_compare
.
changes
.
last
[
:line_code
]
end
end
end
spec/models/project_wiki_spec.rb
View file @
a0755d2f
...
@@ -41,23 +41,13 @@ describe ProjectWiki do
...
@@ -41,23 +41,13 @@ describe ProjectWiki do
subject
.
wiki
.
should
be_a
Gollum
::
Wiki
subject
.
wiki
.
should
be_a
Gollum
::
Wiki
end
end
before
do
Gitlab
::
Shell
.
any_instance
.
stub
(
:add_repository
)
do
create_temp_repo
(
"
#{
Rails
.
root
}
/tmp/test-git-base-path/non-existant.wiki.git"
)
end
project
.
stub
(
:path_with_namespace
).
and_return
(
"non-existant"
)
end
it
"creates a new wiki repo if one does not yet exist"
do
it
"creates a new wiki repo if one does not yet exist"
do
wiki
=
ProjectWiki
.
new
(
project
,
user
)
project_wiki
.
create_page
(
"index"
,
"test content"
).
should
be_true
wiki
.
create_page
(
"index"
,
"test content"
).
should_not
==
false
FileUtils
.
rm_rf
wiki
.
send
(
:path_to_repo
)
end
end
it
"raises CouldNotCreateWikiError if it can't create the wiki repository"
do
it
"raises CouldNotCreateWikiError if it can't create the wiki repository"
do
ProjectWiki
.
any_instance
.
stub
(
:init_repo
).
and_return
(
false
)
project_wiki
.
stub
(
:init_repo
).
and_return
(
false
)
expect
{
ProjectWiki
.
new
(
project
,
user
).
wiki
}.
to
raise_exception
(
ProjectWiki
::
CouldNotCreateWikiError
)
expect
{
project_wiki
.
send
(
:create_repo!
)
}.
to
raise_exception
(
ProjectWiki
::
CouldNotCreateWikiError
)
end
end
end
end
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment