uploads: replace old upload limits with new upload limits.
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
FactoryBot.define do
|
||||
factory(:post) do
|
||||
created_at { 2.weeks.ago }
|
||||
sequence :md5 do |n|
|
||||
n.to_s
|
||||
end
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
FactoryBot.define do
|
||||
factory(:user, aliases: [:creator, :updater, :uploader]) do
|
||||
factory(:user, aliases: [:creator, :updater]) do
|
||||
sequence :name do |n|
|
||||
"user#{n}"
|
||||
end
|
||||
@@ -58,5 +58,9 @@ FactoryBot.define do
|
||||
level {50}
|
||||
can_approve_posts {true}
|
||||
end
|
||||
|
||||
factory(:uploader) do
|
||||
created_at { 2.weeks.ago }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -223,6 +223,22 @@ class UploadsControllerTest < ActionDispatch::IntegrationTest
|
||||
end
|
||||
end
|
||||
|
||||
context "when the uploader is limited" do
|
||||
should "not allow uploading" do
|
||||
@member = create(:user, created_at: 2.weeks.ago, upload_points: 0)
|
||||
create_list(:post, @member.upload_limit.upload_slots, uploader: @member, is_pending: true)
|
||||
|
||||
assert_no_difference("Post.count") do
|
||||
file = Rack::Test::UploadedFile.new("#{Rails.root}/test/files/test.jpg", "image/jpeg")
|
||||
post_auth uploads_path, @member, params: { upload: { file: file, tag_string: "aaa", rating: "q" }}
|
||||
end
|
||||
|
||||
@upload = Upload.last
|
||||
assert_redirected_to @upload
|
||||
assert_match(/have reached your upload limit/, @upload.status)
|
||||
end
|
||||
end
|
||||
|
||||
should "create a new upload" do
|
||||
assert_difference("Upload.count", 1) do
|
||||
file = Rack::Test::UploadedFile.new("#{Rails.root}/test/files/test.jpg", "image/jpeg")
|
||||
|
||||
@@ -3,7 +3,7 @@ require 'test_helper'
|
||||
class UploadLimitTest < ActiveSupport::TestCase
|
||||
context "Upload limits:" do
|
||||
setup do
|
||||
@user = create(:user, upload_points: 1000)
|
||||
@user = create(:user, upload_points: 1000, created_at: 2.weeks.ago)
|
||||
@approver = create(:moderator_user)
|
||||
end
|
||||
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
require 'test_helper'
|
||||
|
||||
class UploadTest < ActiveSupport::TestCase
|
||||
SOURCE_URL = "https://upload.wikimedia.org/wikipedia/commons/thumb/6/66/NAMA_Machine_d%27Anticyth%C3%A8re_1.jpg/538px-NAMA_Machine_d%27Anticyth%C3%A8re_1.jpg?download"
|
||||
|
||||
context "In all cases" do
|
||||
setup do
|
||||
mock_iqdb_service!
|
||||
user = FactoryBot.create(:contributor_user)
|
||||
CurrentUser.user = user
|
||||
CurrentUser.ip_addr = "127.0.0.1"
|
||||
end
|
||||
|
||||
teardown do
|
||||
CurrentUser.user = nil
|
||||
CurrentUser.ip_addr = nil
|
||||
end
|
||||
|
||||
context "An upload" do
|
||||
context "from a user that is limited" do
|
||||
setup do
|
||||
CurrentUser.user = FactoryBot.create(:user, :created_at => 1.year.ago)
|
||||
User.any_instance.stubs(:upload_limit).returns(0)
|
||||
end
|
||||
|
||||
should "fail creation" do
|
||||
@upload = FactoryBot.build(:jpg_upload, :tag_string => "")
|
||||
@upload.save
|
||||
assert_equal(["You have reached your upload limit for the day"], @upload.errors.full_messages)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -48,24 +48,6 @@ class UserTest < ActiveSupport::TestCase
|
||||
end
|
||||
end
|
||||
|
||||
should "limit post uploads" do
|
||||
assert(!@user.can_upload?)
|
||||
@user.update_column(:created_at, 15.days.ago)
|
||||
assert(@user.can_upload?)
|
||||
assert_equal(10, @user.upload_limit)
|
||||
|
||||
9.times do
|
||||
FactoryBot.create(:post, :uploader => @user, :is_pending => true)
|
||||
end
|
||||
|
||||
@user = User.find(@user.id)
|
||||
assert_equal(1, @user.upload_limit)
|
||||
assert(@user.can_upload?)
|
||||
FactoryBot.create(:post, :uploader => @user, :is_pending => true)
|
||||
@user = User.find(@user.id)
|
||||
assert(!@user.can_upload?)
|
||||
end
|
||||
|
||||
should "limit comment votes" do
|
||||
Danbooru.config.stubs(:member_comment_time_threshold).returns(1.week.from_now)
|
||||
Danbooru.config.stubs(:member_comment_limit).returns(10)
|
||||
|
||||
Reference in New Issue
Block a user