Added device_jobs table

This commit is contained in:
2021-10-22 17:37:32 +02:00
parent 842a55be5f
commit f76b125f84
7 changed files with 121 additions and 0 deletions

View 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
View File

@@ -0,0 +1,2 @@
class DeviceJob < ApplicationRecord
end

View File

@@ -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

View 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

View 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
View 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

View File

@@ -0,0 +1,7 @@
require "test_helper"
class DeviceJobTest < ActiveSupport::TestCase
# test "the truth" do
# assert true
# end
end