Files
growstuff/spec/requests/planting_picker_spec.rb
T
Brenda WallaceandDaniel O'Connor 75595350bc Easier recording of harvests from the front page (#5077)
* Implement AddSeedsPicker component and enhance planting selection UI; update styles and serializers for better seed management

* Enhance PlantingPicker component: add hints and titles for harvest and seed actions; update test to reflect changes in seed saving behavior

* Enhance harvest recording: allow harvesting from crops without plantings; update forms and modals for better user experience

* Refactor code structure for improved readability and maintainability

* Remove AddSeedsPicker component and its associated tests

* Add planting picker functionality for harvesting and seed saving

- Introduced PlantingPickersController to handle JSON responses for member's plantings.
- Updated HomeHelper to include crop ID in planting picker properties.
- Refactored PlantPicker and PlantSomethingModal components to support multiple gardens.
- Created PlantingFlow component to manage planting actions (harvest and save seeds).
- Implemented RecordDialog component to handle server-rendered links for harvesting and seed saving.
- Updated various views to include data attributes for triggering the record dialog.
- Added routes for planting picker and corresponding request specs for testing.
- Adjusted styles in _plantings.scss for better layout and spacing.

* Add job management features including job creation and wishlist functionality

* Remove WishlistJobsController and associated views and tests

* Add suggestion links rendering and fix routes formatting

* Refactor AddJobModal and JobPicker components to simplify props and enhance user experience

* Update seed addition test to check dialog presence and current path

* Apply suggestion from @CloCkWeRX

---------

Co-authored-by: Daniel O'Connor <daniel.oconnor@gmail.com>
2026-10-26 21:38:12 +10:30

28 lines
788 B
Ruby

# frozen_string_literal: true
require 'rails_helper'
describe 'Planting picker' do
subject(:body) { response.parsed_body }
let(:member) { FactoryBot.create(:member) }
let!(:planting) { FactoryBot.create(:planting, owner: member, garden: FactoryBot.create(:garden, owner: member)) }
context 'when signed in' do
before do
sign_in member
get planting_picker_path(format: :json)
end
it { expect(response).to have_http_status(:ok) }
it { expect(body.pluck('id')).to eq [planting.id] }
it { expect(body.first['crop']).to eq('id' => planting.crop_id, 'name' => planting.crop_name) }
end
context 'when signed out' do
before { get planting_picker_path(format: :json) }
it { expect(response).to have_http_status(:unauthorized) }
end
end