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
1
Merge Requests
1
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
nexedi
gitlab-ce
Commits
e8aabb07
Commit
e8aabb07
authored
Aug 02, 2017
by
Stan Hu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove unnecessary files caused by bad merge
parent
2ea7d880
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
0 additions
and
629 deletions
+0
-629
features/steps/dashboard/dashboard.rb
features/steps/dashboard/dashboard.rb
+0
-83
features/steps/dashboard/todos.rb
features/steps/dashboard/todos.rb
+0
-191
spec/features/todos/todos_spec.rb
spec/features/todos/todos_spec.rb
+0
-355
No files found.
features/steps/dashboard/dashboard.rb
deleted
100644 → 0
View file @
2ea7d880
class
Spinach::Features::Dashboard
<
Spinach
::
FeatureSteps
include
SharedAuthentication
include
SharedPaths
include
SharedProject
include
SharedIssuable
step
'I should see "New Project" link'
do
expect
(
page
).
to
have_link
"New project"
end
step
'I should see "Shop" project link'
do
expect
(
page
).
to
have_link
"Shop"
end
step
'I should see "Shop" project CI status'
do
expect
(
page
).
to
have_link
"Commit: skipped"
end
step
'I should see last push widget'
do
expect
(
page
).
to
have_content
"You pushed to fix"
expect
(
page
).
to
have_link
"Create merge request"
end
step
'I click "Create merge request" link'
do
find_link
(
"Create merge request"
,
visible:
false
).
click
end
step
'I see prefilled new Merge Request page'
do
expect
(
page
).
to
have_selector
(
'.merge-request-form'
)
expect
(
current_path
).
to
eq
new_namespace_project_merge_request_path
(
@project
.
namespace
,
@project
)
expect
(
find
(
"#merge_request_target_project_id"
).
value
).
to
eq
@project
.
id
.
to_s
expect
(
find
(
"input#merge_request_source_branch"
).
value
).
to
eq
"fix"
expect
(
find
(
"input#merge_request_target_branch"
).
value
).
to
eq
"master"
end
step
'I have group with projects'
do
@group
=
create
(
:group
)
@project
=
create
(
:empty_project
,
namespace:
@group
)
@event
=
create
(
:closed_issue_event
,
project:
@project
)
@project
.
team
<<
[
current_user
,
:master
]
end
step
'I should see projects list'
do
@user
.
authorized_projects
.
all
.
each
do
|
project
|
expect
(
page
).
to
have_link
project
.
name_with_namespace
end
end
step
'I should see groups list'
do
Group
.
all
.
each
do
|
group
|
expect
(
page
).
to
have_link
group
.
name
end
end
step
'group has a projects that does not belongs to me'
do
@forbidden_project1
=
create
(
:empty_project
,
group:
@group
)
@forbidden_project2
=
create
(
:empty_project
,
group:
@group
)
end
step
'I should see 1 project at group list'
do
expect
(
find
(
'span.last_activity/span'
)).
to
have_content
(
'1'
)
end
step
'I filter the list by label "feature"'
do
page
.
within
".labels-filter"
do
find
(
'.dropdown'
).
click
click_link
"feature"
end
end
step
'I should see "Bugfix1" in issues list'
do
page
.
within
"ul.content-list"
do
expect
(
page
).
to
have_content
"Bugfix1"
end
end
step
'project "Shop" has issue "Bugfix1" with label "feature"'
do
project
=
Project
.
find_by
(
name:
"Shop"
)
issue
=
create
(
:issue
,
title:
"Bugfix1"
,
project:
project
,
assignees:
[
current_user
])
issue
.
labels
<<
project
.
labels
.
find_by
(
title:
'feature'
)
end
end
features/steps/dashboard/todos.rb
deleted
100644 → 0
View file @
2ea7d880
class
Spinach::Features::DashboardTodos
<
Spinach
::
FeatureSteps
include
SharedAuthentication
include
SharedPaths
include
SharedProject
include
SharedUser
include
WaitForRequests
step
'"John Doe" is a developer of project "Shop"'
do
project
.
team
<<
[
john_doe
,
:developer
]
end
step
'I am a developer of project "Enterprise"'
do
enterprise
.
team
<<
[
current_user
,
:developer
]
end
step
'"Mary Jane" is a developer of project "Shop"'
do
project
.
team
<<
[
john_doe
,
:developer
]
end
step
'I have todos'
do
create
(
:todo
,
user:
current_user
,
project:
project
,
author:
mary_jane
,
target:
issue
,
action:
Todo
::
MENTIONED
)
create
(
:todo
,
user:
current_user
,
project:
project
,
author:
john_doe
,
target:
issue
,
action:
Todo
::
ASSIGNED
)
note
=
create
(
:note
,
author:
john_doe
,
noteable:
issue
,
note:
"
#{
current_user
.
to_reference
}
Wdyt?"
,
project:
project
)
create
(
:todo
,
user:
current_user
,
project:
project
,
author:
john_doe
,
target:
issue
,
action:
Todo
::
MENTIONED
,
note:
note
)
create
(
:todo
,
user:
current_user
,
project:
project
,
author:
john_doe
,
target:
merge_request
,
action:
Todo
::
ASSIGNED
)
end
step
'I should see todos assigned to me'
do
merge_request_reference
=
merge_request
.
to_reference
(
full:
true
)
issue_reference
=
issue
.
to_reference
(
full:
true
)
page
.
within
(
'.todos-count'
)
{
expect
(
page
).
to
have_content
'4'
}
expect
(
page
).
to
have_content
'To do 4'
expect
(
page
).
to
have_content
'Done 0'
expect
(
page
).
to
have_link
project
.
name_with_namespace
should_see_todo
(
1
,
"John Doe assigned you merge request
#{
merge_request_reference
}
"
,
merge_request
.
title
)
should_see_todo
(
2
,
"John Doe mentioned you on issue
#{
issue_reference
}
"
,
"
#{
current_user
.
to_reference
}
Wdyt?"
)
should_see_todo
(
3
,
"John Doe assigned you issue
#{
issue_reference
}
"
,
issue
.
title
)
should_see_todo
(
4
,
"Mary Jane mentioned you on issue
#{
issue_reference
}
"
,
issue
.
title
)
end
step
'I mark the todo as done'
do
page
.
within
(
'.todo:nth-child(1)'
)
do
click_link
'Done'
end
page
.
within
(
'.todos-count'
)
{
expect
(
page
).
to
have_content
'3'
}
expect
(
page
).
to
have_content
'To do 3'
expect
(
page
).
to
have_content
'Done 1'
should_see_todo
(
1
,
"John Doe assigned you merge request
#{
merge_request
.
to_reference
(
full:
true
)
}
"
,
merge_request
.
title
,
state: :done_reversible
)
end
step
'I mark all todos as done'
do
merge_request_reference
=
merge_request
.
to_reference
(
full:
true
)
issue_reference
=
issue
.
to_reference
(
full:
true
)
find
(
'.js-todos-mark-all'
).
click
page
.
within
(
'.todos-count'
)
{
expect
(
page
).
to
have_content
'0'
}
expect
(
page
).
to
have_content
'To do 0'
expect
(
page
).
to
have_content
'Done 4'
expect
(
page
).
to
have_content
"You're all done!"
expect
(
'.prepend-top-default'
).
not_to
have_link
project
.
name_with_namespace
should_not_see_todo
"John Doe assigned you merge request
#{
merge_request_reference
}
"
should_not_see_todo
"John Doe mentioned you on issue
#{
issue_reference
}
"
should_not_see_todo
"John Doe assigned you issue
#{
issue_reference
}
"
should_not_see_todo
"Mary Jane mentioned you on issue
#{
issue_reference
}
"
end
step
'I should see the todo marked as done'
do
find
(
'.todos-done a'
).
click
expect
(
page
).
to
have_link
project
.
name_with_namespace
should_see_todo
(
1
,
"John Doe assigned you merge request
#{
merge_request
.
to_reference
(
full:
true
)
}
"
,
merge_request
.
title
,
state: :done_irreversible
)
end
step
'I should see all todos marked as done'
do
merge_request_reference
=
merge_request
.
to_reference
(
full:
true
)
issue_reference
=
issue
.
to_reference
(
full:
true
)
find
(
'.todos-done a'
).
click
expect
(
page
).
to
have_link
project
.
name_with_namespace
should_see_todo
(
1
,
"John Doe assigned you merge request
#{
merge_request_reference
}
"
,
merge_request
.
title
,
state: :done_irreversible
)
should_see_todo
(
2
,
"John Doe mentioned you on issue
#{
issue_reference
}
"
,
"
#{
current_user
.
to_reference
}
Wdyt?"
,
state: :done_irreversible
)
should_see_todo
(
3
,
"John Doe assigned you issue
#{
issue_reference
}
"
,
issue
.
title
,
state: :done_irreversible
)
should_see_todo
(
4
,
"Mary Jane mentioned you on issue
#{
issue_reference
}
"
,
issue
.
title
,
state: :done_irreversible
)
end
step
'I filter by "Enterprise"'
do
click_button
'Project'
page
.
within
'.dropdown-menu-project'
do
click_link
enterprise
.
name_with_namespace
end
end
step
'I filter by "John Doe"'
do
click_button
'Author'
page
.
within
'.dropdown-menu-author'
do
click_link
john_doe
.
username
end
end
step
'I filter by "Issue"'
do
click_button
'Type'
page
.
within
'.dropdown-menu-type'
do
click_link
'Issue'
end
end
step
'I filter by "Mentioned"'
do
click_button
'Action'
page
.
within
'.dropdown-menu-action'
do
click_link
'Mentioned'
end
end
step
'I should not see todos'
do
expect
(
page
).
to
have_content
"You're all done!"
end
step
'I should not see todos related to "Mary Jane" in the list'
do
should_not_see_todo
"Mary Jane mentioned you on issue
#{
issue
.
to_reference
(
full:
true
)
}
"
end
step
'I should not see todos related to "Merge Requests" in the list'
do
should_not_see_todo
"John Doe assigned you merge request
#{
merge_request
.
to_reference
(
full:
true
)
}
"
end
step
'I should not see todos related to "Assignments" in the list'
do
should_not_see_todo
"John Doe assigned you merge request
#{
merge_request
.
to_reference
(
full:
true
)
}
"
should_not_see_todo
"John Doe assigned you issue
#{
issue
.
to_reference
(
full:
true
)
}
"
end
step
'I click on the todo'
do
find
(
'.todo:nth-child(1)'
).
click
end
step
'I should be directed to the corresponding page'
do
page
.
should
have_css
(
'.identifier'
,
text:
'Merge request !1'
)
# Merge request page loads and issues a number of Ajax requests
wait_for_requests
end
def
should_see_todo
(
position
,
title
,
body
,
state: :pending
)
page
.
within
(
".todo:nth-child(
#{
position
}
)"
)
do
expect
(
page
).
to
have_content
title
expect
(
page
).
to
have_content
body
if
state
==
:pending
expect
(
page
).
to
have_link
'Done'
elsif
state
==
:done_reversible
expect
(
page
).
to
have_link
'Undo'
elsif
state
==
:done_irreversible
expect
(
page
).
not_to
have_link
'Undo'
expect
(
page
).
not_to
have_link
'Done'
else
raise
'Invalid state given, valid states: :pending, :done_reversible, :done_irreversible'
end
end
end
def
should_not_see_todo
(
title
)
expect
(
page
).
not_to
have_visible_content
title
end
def
have_visible_content
(
text
)
have_css
(
'*'
,
text:
text
,
visible:
true
)
end
def
john_doe
@john_doe
||=
user_exists
(
"John Doe"
,
{
username:
"john_doe"
})
end
def
mary_jane
@mary_jane
||=
user_exists
(
"Mary Jane"
,
{
username:
"mary_jane"
})
end
def
enterprise
@enterprise
||=
Project
.
find_by
(
name:
'Enterprise'
)
end
def
issue
@issue
||=
create
(
:issue
,
assignees:
[
current_user
],
project:
project
)
end
def
merge_request
@merge_request
||=
create
(
:merge_request
,
assignee:
current_user
,
source_project:
project
)
end
end
spec/features/todos/todos_spec.rb
deleted
100644 → 0
View file @
2ea7d880
require
'spec_helper'
describe
'Dashboard Todos'
,
feature:
true
do
let
(
:user
)
{
create
(
:user
)
}
let
(
:author
)
{
create
(
:user
)
}
let
(
:project
)
{
create
(
:project
,
visibility_level:
Gitlab
::
VisibilityLevel
::
PUBLIC
)
}
let
(
:issue
)
{
create
(
:issue
,
due_date:
Date
.
today
)
}
describe
'GET /dashboard/todos'
do
context
'User does not have todos'
do
before
do
gitlab_sign_in
(
user
)
visit
dashboard_todos_path
end
it
'shows "All done" message'
do
expect
(
page
).
to
have_content
"Todos let you see what you should do next."
end
end
context
'User has a todo'
,
js:
true
do
before
do
create
(
:todo
,
:mentioned
,
user:
user
,
project:
project
,
target:
issue
,
author:
author
)
gitlab_sign_in
(
user
)
visit
dashboard_todos_path
end
it
'has todo present'
do
expect
(
page
).
to
have_selector
(
'.todos-list .todo'
,
count:
1
)
end
it
'shows due date as today'
do
within
first
(
'.todo'
)
do
expect
(
page
).
to
have_content
'Due today'
end
end
shared_examples
'deleting the todo'
do
before
do
within
first
(
'.todo'
)
do
click_link
'Done'
end
end
it
'is marked as done-reversible in the list'
do
expect
(
page
).
to
have_selector
(
'.todos-list .todo.todo-pending.done-reversible'
)
end
it
'shows Undo button'
do
expect
(
page
).
to
have_selector
(
'.js-undo-todo'
,
visible:
true
)
expect
(
page
).
to
have_selector
(
'.js-done-todo'
,
visible:
false
)
end
it
'updates todo count'
do
expect
(
page
).
to
have_content
'To do 0'
expect
(
page
).
to
have_content
'Done 1'
end
it
'has not "All done" message'
do
expect
(
page
).
not_to
have_selector
(
'.todos-all-done'
)
end
end
shared_examples
'deleting and restoring the todo'
do
before
do
within
first
(
'.todo'
)
do
click_link
'Done'
wait_for_requests
click_link
'Undo'
end
end
it
'is marked back as pending in the list'
do
expect
(
page
).
not_to
have_selector
(
'.todos-list .todo.todo-pending.done-reversible'
)
expect
(
page
).
to
have_selector
(
'.todos-list .todo.todo-pending'
)
end
it
'shows Done button'
do
expect
(
page
).
to
have_selector
(
'.js-undo-todo'
,
visible:
false
)
expect
(
page
).
to
have_selector
(
'.js-done-todo'
,
visible:
true
)
end
it
'updates todo count'
do
expect
(
page
).
to
have_content
'To do 1'
expect
(
page
).
to
have_content
'Done 0'
end
end
it_behaves_like
'deleting the todo'
it_behaves_like
'deleting and restoring the todo'
context
'todo is stale on the page'
do
before
do
todos
=
TodosFinder
.
new
(
user
,
state: :pending
).
execute
TodoService
.
new
.
mark_todos_as_done
(
todos
,
user
)
end
it_behaves_like
'deleting the todo'
it_behaves_like
'deleting and restoring the todo'
end
end
context
'User created todos for themself'
do
before
do
gitlab_sign_in
(
user
)
end
context
'issue assigned todo'
do
before
do
create
(
:todo
,
:assigned
,
user:
user
,
project:
project
,
target:
issue
,
author:
user
)
visit
dashboard_todos_path
end
it
'shows issue assigned to yourself message'
do
page
.
within
(
'.js-todos-all'
)
do
expect
(
page
).
to
have_content
(
"You assigned issue
#{
issue
.
to_reference
(
full:
true
)
}
to yourself"
)
end
end
end
context
'marked todo'
do
before
do
create
(
:todo
,
:marked
,
user:
user
,
project:
project
,
target:
issue
,
author:
user
)
visit
dashboard_todos_path
end
it
'shows you added a todo message'
do
page
.
within
(
'.js-todos-all'
)
do
expect
(
page
).
to
have_content
(
"You added a todo for issue
#{
issue
.
to_reference
(
full:
true
)
}
"
)
expect
(
page
).
not_to
have_content
(
'to yourself'
)
end
end
end
context
'mentioned todo'
do
before
do
create
(
:todo
,
:mentioned
,
user:
user
,
project:
project
,
target:
issue
,
author:
user
)
visit
dashboard_todos_path
end
it
'shows you mentioned yourself message'
do
page
.
within
(
'.js-todos-all'
)
do
expect
(
page
).
to
have_content
(
"You mentioned yourself on issue
#{
issue
.
to_reference
(
full:
true
)
}
"
)
expect
(
page
).
not_to
have_content
(
'to yourself'
)
end
end
end
context
'directly_addressed todo'
do
before
do
create
(
:todo
,
:directly_addressed
,
user:
user
,
project:
project
,
target:
issue
,
author:
user
)
visit
dashboard_todos_path
end
it
'shows you directly addressed yourself message'
do
page
.
within
(
'.js-todos-all'
)
do
expect
(
page
).
to
have_content
(
"You directly addressed yourself on issue
#{
issue
.
to_reference
(
full:
true
)
}
"
)
expect
(
page
).
not_to
have_content
(
'to yourself'
)
end
end
end
context
'approval todo'
do
let
(
:merge_request
)
{
create
(
:merge_request
)
}
before
do
create
(
:todo
,
:approval_required
,
user:
user
,
project:
project
,
target:
merge_request
,
author:
user
)
visit
dashboard_todos_path
end
it
'shows you set yourself as an approver message'
do
page
.
within
(
'.js-todos-all'
)
do
expect
(
page
).
to
have_content
(
"You set yourself as an approver for merge request
#{
merge_request
.
to_reference
(
full:
true
)
}
"
)
expect
(
page
).
not_to
have_content
(
'to yourself'
)
end
end
end
end
context
'User has done todos'
,
js:
true
do
before
do
create
(
:todo
,
:mentioned
,
:done
,
user:
user
,
project:
project
,
target:
issue
,
author:
author
)
gitlab_sign_in
(
user
)
visit
dashboard_todos_path
(
state: :done
)
end
it
'has the done todo present'
do
expect
(
page
).
to
have_selector
(
'.todos-list .todo.todo-done'
,
count:
1
)
end
describe
'restoring the todo'
do
before
do
within
first
(
'.todo'
)
do
click_link
'Add todo'
end
end
it
'is removed from the list'
do
expect
(
page
).
not_to
have_selector
(
'.todos-list .todo.todo-done'
)
end
it
'updates todo count'
do
expect
(
page
).
to
have_content
'To do 1'
expect
(
page
).
to
have_content
'Done 0'
end
end
end
context
'User has Todos with labels spanning multiple projects'
do
before
do
label1
=
create
(
:label
,
project:
project
)
note1
=
create
(
:note_on_issue
,
note:
"Hello
#{
label1
.
to_reference
(
format: :name
)
}
"
,
noteable_id:
issue
.
id
,
noteable_type:
'Issue'
,
project:
issue
.
project
)
create
(
:todo
,
:mentioned
,
project:
project
,
target:
issue
,
user:
user
,
note_id:
note1
.
id
)
project2
=
create
(
:project
,
visibility_level:
Gitlab
::
VisibilityLevel
::
PUBLIC
)
label2
=
create
(
:label
,
project:
project2
)
issue2
=
create
(
:issue
,
project:
project2
)
note2
=
create
(
:note_on_issue
,
note:
"Test
#{
label2
.
to_reference
(
format: :name
)
}
"
,
noteable_id:
issue2
.
id
,
noteable_type:
'Issue'
,
project:
project2
)
create
(
:todo
,
:mentioned
,
project:
project2
,
target:
issue2
,
user:
user
,
note_id:
note2
.
id
)
gitlab_sign_in
(
user
)
visit
dashboard_todos_path
end
it
'shows page with two Todos'
do
expect
(
page
).
to
have_selector
(
'.todos-list .todo'
,
count:
2
)
end
end
context
'User has multiple pages of Todos'
do
before
do
allow
(
Todo
).
to
receive
(
:default_per_page
).
and_return
(
1
)
# Create just enough records to cause us to paginate
create_list
(
:todo
,
2
,
:mentioned
,
user:
user
,
project:
project
,
target:
issue
,
author:
author
)
gitlab_sign_in
(
user
)
end
it
'is paginated'
do
visit
dashboard_todos_path
expect
(
page
).
to
have_selector
(
'.gl-pagination'
)
end
it
'is has the right number of pages'
do
visit
dashboard_todos_path
expect
(
page
).
to
have_selector
(
'.gl-pagination .page'
,
count:
2
)
end
describe
'mark all as done'
,
js:
true
do
before
do
visit
dashboard_todos_path
find
(
'.js-todos-mark-all'
).
click
end
it
'shows "All done" message!'
do
expect
(
page
).
to
have_content
'To do 0'
expect
(
page
).
to
have_content
"You're all done!"
expect
(
page
).
not_to
have_selector
(
'.gl-pagination'
)
end
it
'shows "Undo mark all as done" button'
do
expect
(
page
).
to
have_selector
(
'.js-todos-mark-all'
,
visible:
false
)
expect
(
page
).
to
have_selector
(
'.js-todos-undo-all'
,
visible:
true
)
end
end
describe
'undo mark all as done'
,
js:
true
do
before
do
visit
dashboard_todos_path
end
it
'shows the restored todo list'
do
mark_all_and_undo
expect
(
page
).
to
have_selector
(
'.todos-list .todo'
,
count:
1
)
expect
(
page
).
to
have_selector
(
'.gl-pagination'
)
expect
(
page
).
not_to
have_content
"You're all done!"
end
it
'updates todo count'
do
mark_all_and_undo
expect
(
page
).
to
have_content
'To do 2'
expect
(
page
).
to
have_content
'Done 0'
end
it
'shows "Mark all as done" button'
do
mark_all_and_undo
expect
(
page
).
to
have_selector
(
'.js-todos-mark-all'
,
visible:
true
)
expect
(
page
).
to
have_selector
(
'.js-todos-undo-all'
,
visible:
false
)
end
context
'User has deleted a todo'
do
before
do
within
first
(
'.todo'
)
do
click_link
'Done'
end
end
it
'shows the restored todo list with the deleted todo'
do
mark_all_and_undo
expect
(
page
).
to
have_selector
(
'.todos-list .todo.todo-pending'
,
count:
1
)
end
end
def
mark_all_and_undo
find
(
'.js-todos-mark-all'
).
click
wait_for_requests
find
(
'.js-todos-undo-all'
).
click
wait_for_requests
end
end
end
context
'User has a Todo in a project pending deletion'
do
before
do
deleted_project
=
create
(
:project
,
visibility_level:
Gitlab
::
VisibilityLevel
::
PUBLIC
,
pending_delete:
true
)
create
(
:todo
,
:mentioned
,
user:
user
,
project:
deleted_project
,
target:
issue
,
author:
author
)
create
(
:todo
,
:mentioned
,
user:
user
,
project:
deleted_project
,
target:
issue
,
author:
author
,
state: :done
)
gitlab_sign_in
(
user
)
visit
dashboard_todos_path
end
it
'shows "All done" message'
do
within
(
'.todos-count'
)
{
expect
(
page
).
to
have_content
'0'
}
expect
(
page
).
to
have_content
'To do 0'
expect
(
page
).
to
have_content
'Done 0'
expect
(
page
).
to
have_selector
(
'.todos-all-done'
,
count:
1
)
end
end
context
'User has a Build Failed todo'
do
let!
(
:todo
)
{
create
(
:todo
,
:build_failed
,
user:
user
,
project:
project
,
author:
author
)
}
before
do
gitlab_sign_in
user
visit
dashboard_todos_path
end
it
'shows the todo'
do
expect
(
page
).
to
have_content
'The build failed for merge request'
end
it
'links to the pipelines for the merge request'
do
href
=
pipelines_namespace_project_merge_request_path
(
project
.
namespace
,
project
,
todo
.
target
)
expect
(
page
).
to
have_link
"merge request
#{
todo
.
target
.
to_reference
(
full:
true
)
}
"
,
href
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