require "application_system_test_case" class UploadsTest < ApplicationSystemTestCase test "upload broken screenshot anonymously and get error message" do visit package_path(name: 'firefox') click_on 'Upload a screenshot' attach_file 'file[]', Rails.root.join('test/fixtures/files/large-broken.png') click_on 'Start upload' assert_text 'large-broken.png is not valid' end # test "upload png screenshot anonymously and await moderation" do # visit package_path(name: 'firefox') # click_on 'Upload a screenshot' # img_count_before = page.find_all('img').count # attach_file 'file[]', Rails.root.join('test/fixtures/files/large1.png') # click_on 'Start upload' # img_count_after = page.find_all('img').count # assert_equal img_count_after, img_count_before + 1 # # Screenshot must be moderated # newest_screenshot = Package.find_by_name(:firefox).screenshots.order(id: :desc).first # assert_equal newest_screenshot.approved, false # # Clean up # newest_screenshot.destroy # end # test "upload screenshot as Debian SSO user and get auto-approval" do # sign_in users(:debian) # visit upload_path(name: 'firefox') # img_count_before = page.find_all('img').count # attach_file 'file[]', Rails.root.join('test/fixtures/files/large1.png') # click_on 'Start upload' # img_count_after = page.find_all('img').count # assert_equal img_count_after, img_count_before + 1 # # Screenshot is instantly public # newest_screenshot = Package.find_by_name(:firefox).screenshots.order(id: :desc).first # assert_equal newest_screenshot.approved, true # # Clean up # newest_screenshot.destroy # sign_out users(:debian) # end # test "upload screenshot anonymously, login in, get screenshots assigned" do # visit upload_path(name: 'firefox') # attach_file 'file[]', Rails.root.join('test/fixtures/files/large1.png') # click_on 'Start upload' # # Screenshot has not yet a user assigned # newest_screenshot = Package.find_by_name(:firefox).screenshots.order(id: :desc).first # assert_nil newest_screenshot.user # # Login (sign_in is just a stub and would not call the callbacks!) # visit root_path # click_link 'Login' # within 'form' do # fill_in 'email address', with: users(:normal).email # fill_in 'password', with: 'normalsecret' # click_button 'Log in' # end # # Check if screenshot was assigned to the user # newest_screenshot = Package.find_by_name(:firefox).screenshots.order(id: :desc).first # assert_equal newest_screenshot.user, users(:normal) # # Clean up # newest_screenshot.destroy # sign_out users(:debian) # end end