require 'minitest/autorun' require_relative '../../app/event_handlers' class EventHandlersTest < Minitest::Test def test_delete_all_posts input_event = { "Records" => [ { "messageId" => SecureRandom.uuid, "body" => "DELETE_ALL", "md5OfBody" => "319f263fe809cba0eb00f8977a972740" } ] } mock_post_a = Minitest::Mock.new mock_post_b = Minitest::Mock.new mock_post_c = Minitest::Mock.new post_list = [ mock_post_a, mock_post_b, mock_post_c ] mock_post_a.expect(:delete!, nil, []) mock_post_b.expect(:delete!, nil, []) mock_post_c.expect(:delete!, nil, []) Posts.stub(:scan, post_list) do EventHandlers.delete_all_posts(event: input_event, context: nil) end mock_post_a.verify mock_post_b.verify mock_post_c.verify end def test_delete_all_posts_bad_event input_event = { "Records" => [ { "messageId" => SecureRandom.uuid, "body" => "BAD_MESSAGE", "md5OfBody" => "6af3db524c14f32b6f183d51c8d04e8a" } ] } assert_raises(StandardError) { EventHandlers.delete_all_posts(event: input_event, context: nil) } end end