Tests improved

This commit is contained in:
Christoph Haas 2018-08-20 22:27:35 +02:00
parent 1b299d53e6
commit 820ff2a30b
5 changed files with 45 additions and 8 deletions

View file

@ -66,9 +66,6 @@ class PackagesController < ApplicationController
# Save the screenshot database record to get an ID
new_screenshot.save!
(session[:uploaded_screenshots] ||= []) << new_screenshot.id
puts "-------------------"
puts session[:uploaded_screenshots]
puts "-------------------"
Log.log "Anonymously uploaded screenshots #{new_screenshot.id} remembered in cookie session to assign it to a user later."
end

View file

@ -1,4 +1,3 @@
= session[:uploaded_screenshots].inspect
nav.top-bar
.grid-container style="flex-grow:1;"
// https://foundation.zurb.com/forum/posts/53446-top-bar-and-xy-grid

View file

@ -4,22 +4,22 @@ class JsonControllerTest < ActionController::TestCase
include Devise::Test::ControllerHelpers
def test_package
get :package, { name: 'firefox', format: :json }
get :package, params: { name: 'firefox', format: :json }
assert_response :success
end
def test_packages
get :packages, { format: :json }
get :packages, params: { format: :json }
assert_response :success
end
def test_screenshots
get :screenshots, { format: :json }
get :screenshots, params: { format: :json }
assert_response :success
end
def test_packages_without_screenshots
get :packages_without_screenshots, { format: :json }
get :packages_without_screenshots, params: { format: :json }
assert_response :success
end

View file

@ -21,4 +21,43 @@ class PackagesControllerTest < ActionController::TestCase
# assert_response :success
# end
test "upload screenshot anonymously then login and get screenshots assigned" do
newest_screenshot1 = Package.find_by_name(:firefox).screenshots.order(id: :desc).first
# Load the upload page
get :upload, params: { name: 'firefox' }
assert_response :success
# Upload a screenshot and except to be redirected afterwards
post :upload_receive, params: { name: 'firefox', file: [ fixture_file_upload('test/fixtures/files/large1.png','image/png') ] }
assert_redirected_to package_path(name: 'firefox')
# Check that the newest screenshot is not yet approved
newest_screenshot2 = Package.find_by_name(:firefox).screenshots.order(id: :desc).first
assert_not_equal newest_screenshot1, newest_screenshot2
assert_equal newest_screenshot2.approved, false
# (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'
# # The cookie session must remember this anonymous upload
# newest_screenshot = Package.find_by_name(:firefox).screenshots.order(id: :desc).first
# assert_equal session[:uploaded_screenshots].length, [newest_screenshot]
# #
# # sign_in users(:debian)
# # # 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(:normal)
end
end

View file

@ -41,5 +41,7 @@ class BrowserBrowseTest < ActionDispatch::IntegrationTest
# Clean up
newest_screenshot.destroy
sign_out users(:debian)
end
end