mirror of
https://github.com/LaCasemate/fab-manager.git
synced 2025-02-20 14:54:15 +01:00
members tests
This commit is contained in:
parent
d01a93e0f0
commit
425927900a
@ -1,3 +1,5 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
class MemebersTest < ActionDispatch::IntegrationTest
|
class MemebersTest < ActionDispatch::IntegrationTest
|
||||||
|
|
||||||
# Called before every test method runs. Can be used
|
# Called before every test method runs. Can be used
|
||||||
@ -31,9 +33,55 @@ class MemebersTest < ActionDispatch::IntegrationTest
|
|||||||
assert_equal 201, response.status, response.body
|
assert_equal 201, response.status, response.body
|
||||||
assert_equal Mime::JSON, response.content_type
|
assert_equal Mime::JSON, response.content_type
|
||||||
|
|
||||||
# Check the user was subscribed
|
# Check that the user's match
|
||||||
user = json_response(response.body)
|
user = json_response(response.body)
|
||||||
assert_equal email, user[:email], "user's mail does not match"
|
assert_equal email, user[:email], "user's mail does not match"
|
||||||
|
assert_equal group_id, user[:group_id], "user's group does not match"
|
||||||
|
end
|
||||||
|
|
||||||
|
test 'admin fails to update member group' do
|
||||||
|
user = User.friendly.find('kdumas')
|
||||||
|
|
||||||
|
# we cannot update an kevin's group because he's got a running subscription
|
||||||
|
put "/api/members/#{user.id}", { user: {
|
||||||
|
group_id: 1
|
||||||
|
} }.to_json, default_headers
|
||||||
|
|
||||||
|
|
||||||
|
# Check response format & status
|
||||||
|
assert_equal 422, response.status, response.body
|
||||||
|
assert_equal Mime::JSON, response.content_type
|
||||||
|
|
||||||
|
# Check error message
|
||||||
|
res = json_response(response.body)
|
||||||
|
assert_equal I18n.t('members.unable_to_change_the_group_while_a_subscription_is_running'), res[:group_id][0], 'invalid error message'
|
||||||
|
end
|
||||||
|
|
||||||
|
test 'admin successfully updates a member' do
|
||||||
|
user = User.friendly.find('vlonchamp')
|
||||||
|
user_hash = {
|
||||||
|
user: {
|
||||||
|
profile_attributes: JSON.parse(user.to_json)['profile']
|
||||||
|
}.merge(JSON.parse(user.to_json))
|
||||||
|
}
|
||||||
|
instagram = 'https://www.instagram.com/vanessa/'
|
||||||
|
|
||||||
|
put "/api/members/#{user.id}", user_hash.deep_merge(
|
||||||
|
user: {
|
||||||
|
group_id: 2,
|
||||||
|
profile_attributes: {
|
||||||
|
instagram: instagram
|
||||||
|
}
|
||||||
|
}
|
||||||
|
).to_json, default_headers
|
||||||
|
|
||||||
|
# Check response format & status
|
||||||
|
assert_equal 200, response.status, response.body
|
||||||
|
assert_equal Mime::JSON, response.content_type
|
||||||
|
|
||||||
|
# Check update result
|
||||||
|
res = json_response(response.body)
|
||||||
|
assert_equal 2, res[:group_id], "user's group does not match"
|
||||||
|
assert_equal instagram, res[:profile][:instagram], "user's social network not updated"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -16,11 +16,9 @@ class SettingsTest < ActionDispatch::IntegrationTest
|
|||||||
|
|
||||||
test 'update setting value' do
|
test 'update setting value' do
|
||||||
put '/api/settings/fablab_name',
|
put '/api/settings/fablab_name',
|
||||||
{
|
setting: {
|
||||||
setting: {
|
value: 'Test Fablab'
|
||||||
value: 'Test Fablab'
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
assert_equal 200, response.status
|
assert_equal 200, response.status
|
||||||
assert_equal Mime::JSON, response.content_type
|
assert_equal Mime::JSON, response.content_type
|
||||||
resp = json_response(response.body)
|
resp = json_response(response.body)
|
||||||
@ -31,11 +29,9 @@ class SettingsTest < ActionDispatch::IntegrationTest
|
|||||||
|
|
||||||
test 'update setting with wrong name' do
|
test 'update setting with wrong name' do
|
||||||
put '/api/settings/does_not_exists',
|
put '/api/settings/does_not_exists',
|
||||||
{
|
|
||||||
setting: {
|
setting: {
|
||||||
value: 'ERROR EXPECTED'
|
value: 'ERROR EXPECTED'
|
||||||
}
|
}
|
||||||
}
|
|
||||||
assert_equal 422, response.status
|
assert_equal 422, response.status
|
||||||
assert_match /Name is not included in the list/, response.body
|
assert_match /Name is not included in the list/, response.body
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user