mirror of
https://github.com/Growstuff/growstuff.git
synced 2026-10-31 11:21:06 -04:00
* 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>
28 lines
788 B
Ruby
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
|