71 lines
1.8 KiB
Ruby
71 lines
1.8 KiB
Ruby
require 'test_helper'
|
|
|
|
# Event management, moderation means refusal, acceptation or demands for more
|
|
# information
|
|
class ModerationsControllerTest < ActionController::TestCase
|
|
include Devise::TestHelpers
|
|
|
|
setup do
|
|
@moderation = events :one
|
|
|
|
sign_in users(:one)
|
|
end
|
|
|
|
test 'should edit event' do
|
|
put :update, id: @moderation, event: {
|
|
title: 'hello world',
|
|
related_region: regions(:region_one)
|
|
}
|
|
assert_redirected_to moderations_path
|
|
end
|
|
|
|
test 'should accept event' do
|
|
@moderation = events :proposed
|
|
|
|
decision = @moderation.decision_time
|
|
assert !@moderation.moderated?
|
|
|
|
assert_difference 'Event.moderated.count' do
|
|
put :accept, id: @moderation
|
|
end
|
|
|
|
assert assigns(:moderation).moderated?
|
|
assert_empty assigns(:moderation).errors
|
|
|
|
assert decision < assigns(:moderation).decision_time
|
|
|
|
assert_redirected_to moderations_path
|
|
end
|
|
|
|
test 'should update event' do
|
|
patch :update, id: @moderation, secret: 'MyString', event: {
|
|
title: @moderation.title,
|
|
start_time: @moderation.start_time,
|
|
end_time: @moderation.end_time,
|
|
description: @moderation.description,
|
|
city: @moderation.city,
|
|
region: @moderation.related_region,
|
|
locality: @moderation.locality,
|
|
url: @moderation.url,
|
|
contact: @moderation.contact,
|
|
moderated: @moderation.moderated,
|
|
secret: @moderation.secret,
|
|
submission_time: @moderation.submission_time,
|
|
submitter: @moderation.submitter,
|
|
tags: @moderation.tags }
|
|
|
|
assert_empty assigns(:moderation).errors
|
|
assert_redirected_to moderations_path
|
|
end
|
|
|
|
test 'should reject event' do
|
|
assert_difference 'Event.count', -1 do
|
|
delete :destroy, id: @moderation
|
|
end
|
|
|
|
assert_empty assigns(:moderation).errors
|
|
|
|
assert_redirected_to moderations_path
|
|
end
|
|
end
|