#-*- coding: utf-8 -*-
#
# Système de gestion des adhésions de Nos oignons
# Copyright © 2013-2014 Nos oignons <contact@nos-oignons.net>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

Then /^le fichier "(.*)" doit avoir été créé avec les reçus$/ do |filename|
  @receipt_path = "#{ENV['NOS_OIGNONS_RECEIPTS_DIR']}/#{filename}"
  expect(File.exists?(@receipt_path)).to be_truthy
end

Then /^il doit contenir le nom et l'adresse de (\w+), la date et le montant de la cotisation$/ do |name|
  # XXX: not nice to hard code that 10,00
  amount = "10,00"
  # XXX: not nice to relay that it's the last member either
  expect(@last_member['name']).to eql(name)

  content = `pdftotext #{@receipt_path} -`.gsub(/\n/, ' ')
  expect(content).to include(@last_member['name'])
  expect(content).to include(@last_member['address'])
  expect(content).to include(DateTime.strptime(@last_member['membership_fee_paid_on'], "%Y-%m-%d").strftime("%d/%m/%Y"))
  expect(content).to include(amount)
end
