X-Git-Url: https://www.nos-oignons.net/gitweb/gestion-adh.git/blobdiff_plain/a98f7233458acc4f35ed2b43323bcb78041d33ba..4a99ae87e0f7fdd07d8820a724fbed1d8b2b5f36:/features/step_definitions/mailman.rb diff --git a/features/step_definitions/mailman.rb b/features/step_definitions/mailman.rb new file mode 100644 index 0000000..ab98b18 --- /dev/null +++ b/features/step_definitions/mailman.rb @@ -0,0 +1,35 @@ +#-*- coding: utf-8 -*- + +require 'json' + +Before('@mailman') do + @mock_mailman_db = "#{current_dir}/mock_mailman.json" + init_mailman_mock_db({}) + ENV['MOCK_MAILMAN_DB'] = @mock_mailman_db + @orig_path = ENV['PATH'] + ENV['PATH'] = "#{File.expand_path('../../support/mock_mailman', __FILE__)}:#{@orig_path}" +end + +After('@mailman') do + ENV['PATH'] = @orig_path + FileUtils.remove_entry_secure @mock_mailman_db +end + +def init_mailman_mock_db(dict) + File.open(@mock_mailman_db, 'w') { |f| f.write(JSON.dump(dict)) } +end + +def mailman_mock_db + JSON.load(File.open(@mock_mailman_db)) +end + +Given /^une liste ag@ avec comme emails inscrits:$/ do |subscriber_list| + emails = subscriber_list.strip.split + init_mailman_mock_db('ag' => emails) +end + +Then /^la liste ag@ doit avoir comme emails inscrits:$/ do |expected| + emails = expected.strip.split.sort + expect(mailman_mock_db['ag'].sort).to eql(emails) +end +