Skip to content

Commit

Permalink
Better handling of empty passwords
Browse files Browse the repository at this point in the history
  • Loading branch information
RickCarlino committed May 4, 2019
1 parent 6ae1b0e commit fc879bf
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 6 deletions.
3 changes: 1 addition & 2 deletions app/controllers/api/devices_controller.rb
Expand Up @@ -39,8 +39,7 @@ def seed
end

def reset
Devices::Reset.delay.run!(params.as_json, device: current_device)
render json: { done: "Reseting account now." }
mutate Devices::Reset.run(params.as_json, device: current_device)
end

private
Expand Down
11 changes: 7 additions & 4 deletions app/mutations/devices/reset.rb
Expand Up @@ -12,19 +12,22 @@ def validate
end

def execute
self.delay.run_it
{ ok: "OK" }
end

private

def run_it
Device::SINGULAR_RESOURCES.keys.map do |resource|
device.send(resource).destroy!
end

Device::PLURAL_RESOURCES.map do |resources|
device.send(resources).destroy_all
end

{ ok: "OK" }
end

private

def user
@user ||= User.find_by!(device: device)
end
Expand Down
Expand Up @@ -29,6 +29,15 @@
end
end

it "can't reset a device if credentials are missing" do
sign_in user
device = user.device

run_jobs_now { post :reset, params: {} }
expect(response.status).to eq(422)
expect(json.fetch(:password)).to eq("Password is required")
end

it "destroys a Device" do
sign_in user
old_bot = user.device
Expand Down

0 comments on commit fc879bf

Please sign in to comment.