Skip to content

Commit 3cdafca

Browse files
committed
ok, let you change the name if you're not actually changing it :p
1 parent 8447638 commit 3cdafca

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

dashboard/app/controllers/levels_controller.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,9 @@ def update_blocks
8686
# PATCH/PUT /levels/1
8787
# PATCH/PUT /levels/1.json
8888
def update
89-
if level_params[:name] && @level.name.downcase == level_params[:name].downcase
89+
if level_params[:name] &&
90+
@level.name != level_params[:name] &&
91+
@level.name.downcase == level_params[:name].downcase
9092
# do not allow case-only changes in the level name because that confuses git on OSX
9193
@level.errors.add(:name, 'Cannot change only the capitalization of the level name (it confuses git on OSX)')
9294
render json: @level.errors, status: :unprocessable_entity

dashboard/test/controllers/levels_controller_test.rb

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -464,6 +464,21 @@ class LevelsControllerTest < ActionController::TestCase
464464
assert_equal 'original name', level.name
465465
end
466466

467+
test 'no error message when not actually changing level name' do
468+
level = create :level, name: 'original name'
469+
470+
post :update, id: level.id, level: {name: 'original name'}
471+
472+
assert_response 200
473+
474+
# no error message
475+
assert assigns(:level).errors[:name].blank?
476+
477+
level = level.reload
478+
# same name
479+
assert_equal 'original name', level.name
480+
end
481+
467482
test 'can update level name' do
468483
level = create :level, name: 'original name'
469484

0 commit comments

Comments
 (0)