1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-12-04 15:24:23 +01:00
fab-manager/test/integration/availabilities/as_user_test.rb

35 lines
1.3 KiB
Ruby
Raw Normal View History

2016-04-13 17:26:17 +02:00
class Availabilities::AsUserTest < ActionDispatch::IntegrationTest
2016-04-05 10:04:15 +02:00
setup do
2016-04-13 17:26:17 +02:00
user = User.find_by_username('kdumas')
login_as(user, scope: :user)
2016-04-05 10:04:15 +02:00
end
2016-04-13 17:26:17 +02:00
test 'get machine availabilities as user' do
2016-04-13 11:53:21 +02:00
m = Machine.find_by_slug('decoupeuse-vinyle')
get "/api/availabilities/machines/#{m.id}"
2016-04-13 15:19:57 +02:00
# Check response format & status
assert_equal 200, response.status
assert_equal Mime::JSON, response.content_type
# Check the correct availabilities was returned
availabilities = json_response(response.body)
assert_not_empty availabilities, 'no availabilities were found'
assert_not_nil availabilities[0], 'first availability was unexpectedly nil'
assert_not_nil availabilities[0][:machine], "first availability's machine was unexpectedly nil"
assert_equal m.id, availabilities[0][:machine][:id], "first availability's machine does not match the required machine"
2016-04-13 17:26:17 +02:00
# Check that we din't get availabilities from the past
availabilities.each do |a|
assert_not a[:start] < DateTime.now, 'retrieved a slot in the past'
end
# Check that we don't get availabilities in more than a month
availabilities.each do |a|
assert_not a[:start] > 1.month.from_now , 'retrieved a slot in more than 1 month for user who has no yearly subscription'
end
2016-04-05 10:04:15 +02:00
end
end
2016-04-13 17:26:17 +02:00