diff options
Diffstat (limited to 'qa/qa/page/component/design_management.rb')
-rw-r--r-- | qa/qa/page/component/design_management.rb | 43 |
1 files changed, 41 insertions, 2 deletions
diff --git a/qa/qa/page/component/design_management.rb b/qa/qa/page/component/design_management.rb index a8a24bd3949..fafbda58b07 100644 --- a/qa/qa/page/component/design_management.rb +++ b/qa/qa/page/component/design_management.rb @@ -30,6 +30,17 @@ module QA view 'app/assets/javascripts/design_management/components/list/item.vue' do element :design_file_name element :design_image + element :design_status_icon + end + + view 'app/assets/javascripts/design_management/pages/index.vue' do + element :archive_button + element :design_checkbox + element :design_dropzone_content + end + + view 'app/assets/javascripts/design_management/components/delete_button.vue' do + element :confirm_archiving_button end end end @@ -52,12 +63,14 @@ module QA # It accepts a `class:` option, but that only works for class attributes # It doesn't work as a CSS selector. # So instead we use the name attribute as a locator - page.attach_file("design_file", design_file_path, make_visible: { display: 'block' }) + within_element(:design_dropzone_content) do + page.attach_file("design_file", design_file_path, make_visible: { display: 'block' }) + end filename = ::File.basename(design_file_path) found = wait_until(reload: false, sleep_interval: 1) do - image = find_element(:design_image) + image = find_element(:design_image, filename: filename) has_element?(:design_file_name, text: filename) && image["complete"] && @@ -67,15 +80,41 @@ module QA raise ElementNotFound, %Q(Attempted to attach design "#{filename}" but it did not appear) unless found end + def update_design(filename) + filepath = ::File.join('qa', 'fixtures', 'designs', 'update', filename) + add_design(filepath) + end + def click_design(filename) click_element(:design_file_name, text: filename) end + def select_design(filename) + click_element(:design_checkbox, design: filename) + end + + def archive_selected_designs + click_element(:archive_button) + click_element(:confirm_archiving_button) + end + def has_annotation?(note) within_element_by_index(:design_discussion_content, 0) do has_element?(:note_content, text: note) end end + + def has_design?(filename) + has_element?(:design_file_name, text: filename) + end + + def has_created_icon? + has_element?(:design_status_icon, status: 'file-addition-solid') + end + + def has_modified_icon? + has_element?(:design_status_icon, status: 'file-modified-solid') + end end end end |