mirror of
https://github.com/LaCasemate/fab-manager.git
synced 2024-12-10 21:24:20 +01:00
56 lines
1.4 KiB
Ruby
56 lines
1.4 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'test_helper'
|
|
|
|
module Credits; end
|
|
|
|
class Credits::TrainingTest < ActionDispatch::IntegrationTest
|
|
# Called before every test method runs. Can be used
|
|
# to set up fixture information.
|
|
def setup
|
|
admin = User.with_role(:admin).first
|
|
login_as(admin, scope: :user)
|
|
end
|
|
|
|
test 'create training credit' do
|
|
# First, we create a new credit
|
|
post '/api/credits',
|
|
params: {
|
|
credit: {
|
|
creditable_id: 4,
|
|
creditable_type: 'Training',
|
|
plan_id: '1'
|
|
}
|
|
}.to_json,
|
|
headers: default_headers
|
|
|
|
# Check response format & status
|
|
assert_equal 201, response.status, response.body
|
|
assert_match Mime[:json].to_s, response.content_type
|
|
|
|
# Check the credit was created correctly
|
|
credit = json_response(response.body)
|
|
c = Credit.where(id: credit[:id]).first
|
|
assert_not_nil c, 'Credit was not created in database'
|
|
|
|
# Check that no hours were associated with the credit
|
|
assert_nil c.hours
|
|
end
|
|
|
|
test 'create a existing credit' do
|
|
post '/api/credits',
|
|
params: {
|
|
credit: {
|
|
creditable_id: 4,
|
|
creditable_type: 'Training',
|
|
plan_id: '2'
|
|
}
|
|
}.to_json,
|
|
headers: default_headers
|
|
|
|
# Check response format & status
|
|
assert_equal 422, response.status, response.body
|
|
assert_match Mime[:json].to_s, response.content_type
|
|
end
|
|
end
|