user name changes: remove unused reason, status fields.

Remove all infrastructure around approving or rejecting user name
changes. Name changes haven't been moderated for several years.

* Remove status, approver_id, change_reason, and rejection_reason fields.
* Remove approve and reject controller actions.
This commit is contained in:
evazion
2019-09-25 19:21:36 -05:00
parent 8d1874d309
commit 3b63f94968
10 changed files with 44 additions and 218 deletions

View File

@@ -1,6 +1,7 @@
FactoryBot.define do
factory(:user_name_change_request) do
user
original_name {FFaker::Internet.user_name}
desired_name {FFaker::Internet.user_name}
change_reason {FFaker::Lorem.sentence}
end
end

View File

@@ -5,16 +5,8 @@ class UserNameChangeRequestsControllerTest < ActionDispatch::IntegrationTest
setup do
@user = create(:gold_user)
@admin = create(:admin_user)
as(@user) do
@change_request = UserNameChangeRequest.create!(
:user_id => @user.id,
:original_name => @user.name,
:desired_name => "abc",
:change_reason => "hello"
)
end
end
context "new action" do
should "render" do
get_auth new_user_name_change_request_path, @user
@@ -25,13 +17,19 @@ class UserNameChangeRequestsControllerTest < ActionDispatch::IntegrationTest
context "create action" do
should "work" do
post_auth user_name_change_requests_path, @user, params: { user_name_change_request: { desired_name: "zun" }}
assert_response :success
assert_response :redirect
assert_equal("zun", @user.reload.name)
end
end
context "show action" do
setup do
@change_request = as(@user) { create(:user_name_change_request, user_id: @user.id) }
end
should "render" do
get_auth user_name_change_request_path(@change_request), @user
get_auth user_name_change_request_path(@change_request), @admin
assert_response :success
end
@@ -43,7 +41,7 @@ class UserNameChangeRequestsControllerTest < ActionDispatch::IntegrationTest
end
end
end
context "for actions restricted to admins" do
context "index action" do
should "render" do
@@ -51,20 +49,6 @@ class UserNameChangeRequestsControllerTest < ActionDispatch::IntegrationTest
assert_response :success
end
end
context "approve action" do
should "succeed" do
post_auth approve_user_name_change_request_path(@change_request), @admin
assert_redirected_to(user_name_change_request_path(@change_request))
end
end
context "reject action" do
should "succeed" do
post_auth reject_user_name_change_request_path(@change_request), @admin
assert_redirected_to(user_name_change_request_path(@change_request))
end
end
end
end
end

View File

@@ -19,7 +19,6 @@ class UserNameChangeRequestTest < ActiveSupport::TestCase
@change_request = UserNameChangeRequest.create(
:user_id => @requester.id,
:original_name => @requester.name,
:status => "pending",
:desired_name => "abc"
)
CurrentUser.user = @admin
@@ -50,37 +49,12 @@ class UserNameChangeRequestTest < ActiveSupport::TestCase
end
end
context "rejecting a request" do
setup do
@change_request = UserNameChangeRequest.create(
:user_id => @requester.id,
:original_name => @requester.name,
:status => "pending",
:desired_name => "abc"
)
CurrentUser.user = @admin
end
should "create a dmail" do
assert_difference("Dmail.count", 1) do
@change_request.reject!("msg")
end
end
should "preserve the username" do
@change_request.reject!("msg")
@requester.reload
assert_not_equal("abc", @requester.name)
end
end
context "creating a new request" do
should "not validate if the desired name already exists" do
assert_difference("UserNameChangeRequest.count", 0) do
req = UserNameChangeRequest.create(
:user_id => @requester.id,
:original_name => @requester.name,
:status => "pending",
:desired_name => @requester.name
)
assert_equal(["Desired name already exists"], req.errors.full_messages)