Commit 75847b55 authored by Ramya Authappan's avatar Ramya Authappan Committed by Grzegorz Bizon

Adding tests for filtering activities/comments in issues

parent d0b746d8
...@@ -22,9 +22,7 @@ export default { ...@@ -22,9 +22,7 @@ export default {
return { currentValue: this.defaultValue }; return { currentValue: this.defaultValue };
}, },
computed: { computed: {
...mapGetters([ ...mapGetters(['getNotesDataByProp']),
'getNotesDataByProp',
]),
currentFilter() { currentFilter() {
if (!this.currentValue) return this.filters[0]; if (!this.currentValue) return this.filters[0];
return this.filters.find(filter => filter.value === this.currentValue); return this.filters.find(filter => filter.value === this.currentValue);
...@@ -51,7 +49,7 @@ export default { ...@@ -51,7 +49,7 @@ export default {
<button <button
id="discussion-filter-dropdown" id="discussion-filter-dropdown"
ref="dropdownToggle" ref="dropdownToggle"
class="btn btn-default" class="btn btn-default qa-discussion-filter"
data-toggle="dropdown" data-toggle="dropdown"
aria-expanded="false" aria-expanded="false"
> >
...@@ -69,6 +67,7 @@ export default { ...@@ -69,6 +67,7 @@ export default {
> >
<button <button
:class="{ 'is-active': filter.value === currentValue }" :class="{ 'is-active': filter.value === currentValue }"
class="qa-filter-options"
type="button" type="button"
@click="selectFilter(filter.value)" @click="selectFilter(filter.value)"
> >
......
...@@ -7,35 +7,42 @@ module QA ...@@ -7,35 +7,42 @@ module QA
class Show < Page::Base class Show < Page::Base
include Page::Component::Issuable::Common include Page::Component::Issuable::Common
view 'app/views/projects/issues/show.html.haml' do
element :issue_details, '.issue-details' # rubocop:disable QA/ElementWithPattern
element :title, '.title' # rubocop:disable QA/ElementWithPattern
end
view 'app/views/shared/notes/_form.html.haml' do view 'app/views/shared/notes/_form.html.haml' do
element :new_note_form, 'new-note' # rubocop:disable QA/ElementWithPattern element :new_note_form, 'new-note' # rubocop:disable QA/ElementWithPattern
element :new_note_form, 'attr: :note' # rubocop:disable QA/ElementWithPattern element :new_note_form, 'attr: :note' # rubocop:disable QA/ElementWithPattern
end end
view 'app/views/shared/notes/_comment_button.html.haml' do view 'app/assets/javascripts/notes/components/comment_form.vue' do
element :comment_button, '%strong Comment' # rubocop:disable QA/ElementWithPattern element :comment_button
element :comment_input
end end
def issue_title view 'app/assets/javascripts/notes/components/discussion_filter.vue' do
find('.issue-details .title').text element :discussion_filter
element :filter_options
end end
# Adds a comment to an issue # Adds a comment to an issue
# attachment option should be an absolute path # attachment option should be an absolute path
def comment(text, attachment: nil) def comment(text, attachment: nil)
fill_in(with: text, name: 'note[note]') fill_element :comment_input, text
unless attachment.nil? unless attachment.nil?
QA::Page::Component::Dropzone.new(self, '.new-note') QA::Page::Component::Dropzone.new(self, '.new-note')
.attach_file(attachment) .attach_file(attachment)
end end
click_on 'Comment' click_element :comment_button
end
def select_comments_only_filter
click_element :discussion_filter
all_elements(:filter_options).last.click
end
def select_all_activities_filter
click_element :discussion_filter
all_elements(:filter_options).first.click
end end
end end
end end
......
# frozen_string_literal: true
module QA
context 'Plan' do
describe 'filter issue comments activities' do
let(:issue_title) { 'issue title' }
it 'user filters comments and activites in an issue' do
Runtime::Browser.visit(:gitlab, Page::Main::Login)
Page::Main::Login.act { sign_in_using_credentials }
Factory::Resource::Issue.fabricate! do |issue|
issue.title = issue_title
end
expect(page).to have_content(issue_title)
Page::Project::Issue::Show.perform do |show_page|
show_page.select_comments_only_filter
show_page.comment('/confidential')
show_page.comment('My own comment')
expect(show_page).not_to have_content("made the issue confidential")
expect(show_page).to have_content("My own comment")
show_page.select_all_activities_filter
expect(show_page).to have_content("made the issue confidential")
expect(show_page).to have_content("My own comment")
end
end
end
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment