Files
growstuff/spec/requests/jobs_json_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

24 lines
715 B
Ruby

# frozen_string_literal: true
require 'rails_helper'
describe 'Adding a job as JSON' do
let(:member) { FactoryBot.create(:member) }
before { sign_in member }
context 'with a name' do
before { post jobs_path(format: :json), params: { job: { name: 'Build a trellis', due_date: '2026-11-01' } } }
it { expect(response).to have_http_status(:created) }
it { expect(Job.find_by(owner: member).due_date).to eq Date.new(2026, 11, 1) }
end
context 'without a name' do
before { post jobs_path(format: :json), params: { job: { name: '' } } }
it { expect(response).to have_http_status(:unprocessable_entity) }
it { expect(response.parsed_body['errors']).to have_key('name') }
end
end