Cleanup tests
parent
d9de1179db
commit
f977eb63da
|
@ -21,8 +21,10 @@ module Api
|
|||
end
|
||||
|
||||
def apply
|
||||
mutate SavedGardens::Apply
|
||||
.run(garden: garden, device: current_device, destructive: false)
|
||||
params = { garden: garden,
|
||||
device: current_device,
|
||||
destructive: (request.method == "POST") }
|
||||
mutate SavedGardens::Apply.run(params)
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
@ -7,6 +7,14 @@ module SavedGardens
|
|||
end
|
||||
|
||||
def execute
|
||||
clean_out_plants if destructive
|
||||
convert_templates_to_plants
|
||||
""
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def convert_templates_to_plants
|
||||
Plant
|
||||
.create!(garden
|
||||
.plant_templates
|
||||
|
@ -21,7 +29,11 @@ module SavedGardens
|
|||
y: template.y,
|
||||
z: template.z }
|
||||
end)
|
||||
""
|
||||
end
|
||||
|
||||
def clean_out_plants
|
||||
Points::Destroy.run!(device: device,
|
||||
point_ids: device.plants.pluck(:id))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -42,7 +42,7 @@ FarmBot::Application.routes.draw do
|
|||
|
||||
resources :saved_gardens, except: [ :show ] do
|
||||
post :snapshot, on: :collection
|
||||
# post :apply, on: :member
|
||||
post :apply, on: :member
|
||||
patch :apply, on: :member
|
||||
end
|
||||
|
||||
|
|
|
@ -41,7 +41,6 @@ class LogService
|
|||
if save?(log)
|
||||
device = Device.find(device_id)
|
||||
db_log = Logs::Create.run!(log, device: device)
|
||||
maybe_clear_logs(device)
|
||||
LogDispatch.deliver(device, db_log)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -81,9 +81,39 @@ describe Api::SavedGardensController do
|
|||
saved_garden = FactoryBot.create(:saved_garden, device: user.device)
|
||||
FactoryBot.create_list(:plant_template, 3, device: user.device, saved_garden: saved_garden)
|
||||
old_plant_count = user.device.plants.count
|
||||
post :apply, params: {id: saved_garden.id }
|
||||
patch :apply, params: {id: saved_garden.id }
|
||||
expect(response.status).to be(200)
|
||||
expect(user.device.plants.count).to be > old_plant_count
|
||||
end
|
||||
|
||||
it "prevents destructive application when plants in use."# do
|
||||
# SavedGarden.destroy_all
|
||||
# Plant.destroy_all
|
||||
# PlantTemplate.destroy_all
|
||||
# sign_in user
|
||||
# saved_garden = FactoryBot.create(:saved_garden, device: user.device)
|
||||
# FactoryBot.create_list(:plant_template, 3, device: user.device,
|
||||
# saved_garden: saved_garden)
|
||||
# puts "Create sequence using a plant"
|
||||
# old_plant_count = user.device.plants.count
|
||||
# patch :apply, params: {id: saved_garden.id }
|
||||
# expect(response.status).to be(200)
|
||||
# expect(user.device.plants.count).to be > old_plant_count
|
||||
# end
|
||||
|
||||
it "performs 'destructive' garden application" do
|
||||
SavedGarden.destroy_all
|
||||
Plant.destroy_all
|
||||
PlantTemplate.destroy_all
|
||||
sign_in user
|
||||
saved_garden = FactoryBot.create(:saved_garden, device: user.device)
|
||||
plant = FactoryBot.create(:plant, device: user.device)
|
||||
FactoryBot.create_list(:plant_template, 3, device: user.device, saved_garden: saved_garden)
|
||||
old_plant_count = user.device.plants.count
|
||||
post :apply, params: {id: saved_garden.id }
|
||||
expect(response.status).to be(200)
|
||||
expect(user.device.plants.count).to be > old_plant_count
|
||||
expect(Plant.exists?(plant.id)).to be false
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -25,15 +25,6 @@ describe LogService do
|
|||
end
|
||||
end
|
||||
|
||||
it "clips overflowing logs" do
|
||||
device = Device.find(device_id)
|
||||
FactoryBot.create_list(:log, device.max_log_count + 10, device: device)
|
||||
b4 = device.logs.count
|
||||
LogService.process(fake_delivery_info, normal_payl)
|
||||
expect(device.logs.count).to be < b4
|
||||
expect(device.logs.count).to eq(device.max_log_count)
|
||||
end
|
||||
|
||||
it "calls .subscribe() on Transport." do
|
||||
fakee = FakeLogChan.new
|
||||
allow(Transport).to receive(:log_channel) { fakee }
|
||||
|
|
Loading…
Reference in New Issue