Added device_jobs table
This commit is contained in:
51
app/controllers/device_jobs_controller.rb
Normal file
51
app/controllers/device_jobs_controller.rb
Normal file
@@ -0,0 +1,51 @@
|
||||
class DeviceJobsController < ApplicationController
|
||||
before_action :set_device_job, only: [:show, :update, :destroy]
|
||||
|
||||
# GET /device_jobs
|
||||
def index
|
||||
@device_jobs = DeviceJob.all
|
||||
|
||||
render json: @device_jobs
|
||||
end
|
||||
|
||||
# GET /device_jobs/1
|
||||
def show
|
||||
render json: @device_job
|
||||
end
|
||||
|
||||
# POST /device_jobs
|
||||
def create
|
||||
@device_job = DeviceJob.new(device_job_params)
|
||||
|
||||
if @device_job.save
|
||||
render json: @device_job, status: :created, location: @device_job
|
||||
else
|
||||
render json: @device_job.errors, status: :unprocessable_entity
|
||||
end
|
||||
end
|
||||
|
||||
# PATCH/PUT /device_jobs/1
|
||||
def update
|
||||
if @device_job.update(device_job_params)
|
||||
render json: @device_job
|
||||
else
|
||||
render json: @device_job.errors, status: :unprocessable_entity
|
||||
end
|
||||
end
|
||||
|
||||
# DELETE /device_jobs/1
|
||||
def destroy
|
||||
@device_job.destroy
|
||||
end
|
||||
|
||||
private
|
||||
# Use callbacks to share common setup or constraints between actions.
|
||||
def set_device_job
|
||||
@device_job = DeviceJob.find(params[:id])
|
||||
end
|
||||
|
||||
# Only allow a list of trusted parameters through.
|
||||
def device_job_params
|
||||
params.require(:device_job).permit(:device_id, :jobs_id, :status)
|
||||
end
|
||||
end
|
||||
2
app/models/device_job.rb
Normal file
2
app/models/device_job.rb
Normal file
@@ -0,0 +1,2 @@
|
||||
class DeviceJob < ApplicationRecord
|
||||
end
|
||||
@@ -1,4 +1,5 @@
|
||||
Rails.application.routes.draw do
|
||||
resources :device_jobs
|
||||
resources :devices
|
||||
resources :jobs
|
||||
# For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
|
||||
|
||||
11
db/migrate/20211021061911_create_device_jobs.rb
Normal file
11
db/migrate/20211021061911_create_device_jobs.rb
Normal file
@@ -0,0 +1,11 @@
|
||||
class CreateDeviceJobs < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
create_table :device_jobs do |t|
|
||||
t.integer :device_id
|
||||
t.integer :jobs_id
|
||||
t.string :status
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
end
|
||||
end
|
||||
38
test/controllers/device_jobs_controller_test.rb
Normal file
38
test/controllers/device_jobs_controller_test.rb
Normal file
@@ -0,0 +1,38 @@
|
||||
require "test_helper"
|
||||
|
||||
class DeviceJobsControllerTest < ActionDispatch::IntegrationTest
|
||||
setup do
|
||||
@device_job = device_jobs(:one)
|
||||
end
|
||||
|
||||
test "should get index" do
|
||||
get device_jobs_url, as: :json
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
test "should create device_job" do
|
||||
assert_difference('DeviceJob.count') do
|
||||
post device_jobs_url, params: { device_job: { device_id: @device_job.device_id, jobs_id: @device_job.jobs_id, status: @device_job.status } }, as: :json
|
||||
end
|
||||
|
||||
assert_response 201
|
||||
end
|
||||
|
||||
test "should show device_job" do
|
||||
get device_job_url(@device_job), as: :json
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
test "should update device_job" do
|
||||
patch device_job_url(@device_job), params: { device_job: { device_id: @device_job.device_id, jobs_id: @device_job.jobs_id, status: @device_job.status } }, as: :json
|
||||
assert_response 200
|
||||
end
|
||||
|
||||
test "should destroy device_job" do
|
||||
assert_difference('DeviceJob.count', -1) do
|
||||
delete device_job_url(@device_job), as: :json
|
||||
end
|
||||
|
||||
assert_response 204
|
||||
end
|
||||
end
|
||||
11
test/fixtures/device_jobs.yml
vendored
Normal file
11
test/fixtures/device_jobs.yml
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
# Read about fixtures at https://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
|
||||
|
||||
one:
|
||||
device_id: 1
|
||||
jobs_id: 1
|
||||
status: MyString
|
||||
|
||||
two:
|
||||
device_id: 1
|
||||
jobs_id: 1
|
||||
status: MyString
|
||||
7
test/models/device_job_test.rb
Normal file
7
test/models/device_job_test.rb
Normal file
@@ -0,0 +1,7 @@
|
||||
require "test_helper"
|
||||
|
||||
class DeviceJobTest < ActiveSupport::TestCase
|
||||
# test "the truth" do
|
||||
# assert true
|
||||
# end
|
||||
end
|
||||
Reference in New Issue
Block a user