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 preview event' do patch :preview, id: @moderation, event: { title: 'hello world', related_region: regions(:region_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