/// <summary> /// print single gift receipt /// </summary> //[Test] public void TestSingleReceipt() { CommonNUnitFunctions.ResetDatabase(); TPetraServerConnector.Connect("../../etc/TestServer.config"); // import a test gift batch TVerificationResultCollection VerificationResult; if (!TGiftAnnualReceiptTest.ImportAndPostGiftBatch(FLedgerNumber, out VerificationResult)) { Assert.Fail("ImportAndPostGiftBatch failed: " + VerificationResult.BuildVerificationResultString()); } string formletterTemplateFile = TAppSettingsManager.GetValue("ReceiptTemplate.file", "../../csharp/ICT/Testing/lib/MFinance/SampleData/SingleGiftReceiptTemplate.html"); Encoding encodingOfHTMLfile = TTextFile.GetFileEncoding(formletterTemplateFile); StreamReader sr = new StreamReader(formletterTemplateFile, encodingOfHTMLfile, false); string FileContent = sr.ReadToEnd(); sr.Close(); string formletterExpectedFile = TAppSettingsManager.GetValue("ReceiptExpected.file", "../../csharp/ICT/Testing/lib/MFinance/SampleData/SingleGiftReceiptExpected.html"); //TODO: Calendar vs Financial Date Handling - Check if this should use financial year start/end and not assume calendar string receipts; string receiptsPDF; bool result = TReceiptingWebConnector.CreateAnnualGiftReceipts(FLedgerNumber, "Annual", new DateTime(DateTime.Today.Year, 1, 1), new DateTime(DateTime.Today.Year, 12, 31), FileContent, null, String.Empty, null, String.Empty, "de-DE", out receiptsPDF, out receipts); Assert.AreEqual(true, result, "receipt was empty"); StreamWriter sw = new StreamWriter(formletterExpectedFile + ".new", false, encodingOfHTMLfile); sw.WriteLine(receipts); sw.WriteLine(); sw.Close(); SortedList <string, string> ToReplace = new SortedList <string, string>(); ToReplace.Add("#TODAY#", DateTime.Now.ToString("d. MMMM yyyy")); ToReplace.Add("#THISYEAR#", DateTime.Today.Year.ToString()); Assert.IsTrue( TTextFile.SameContent(formletterExpectedFile, formletterExpectedFile + ".new", true, ToReplace, true), "receipt was not printed as expected, check " + formletterExpectedFile + ".new"); File.Delete(formletterExpectedFile + ".new"); }
public void TestSingleReceipt() { CommonNUnitFunctions.ResetDatabase(); // import a test gift batch TVerificationResultCollection VerificationResult; if (!TGiftAnnualReceiptTest.ImportAndPostGiftBatch(FLedgerNumber, out VerificationResult)) { Assert.Fail("ImportAndPostGiftBatch failed: " + VerificationResult.BuildVerificationResultString()); } string formletterTemplateFile = TAppSettingsManager.GetValue("ReceiptTemplate.file", "../../csharp/ICT/Testing/lib/MFinance/SampleData/SingleGiftReceiptTemplate.html"); Encoding encodingOfHTMLfile = TTextFile.GetFileEncoding(formletterTemplateFile); StreamReader sr = new StreamReader(formletterTemplateFile, encodingOfHTMLfile, false); string FileContent = sr.ReadToEnd(); sr.Close(); string formletterExpectedFile = TAppSettingsManager.GetValue("ReceiptExptected.file", "../../csharp/ICT/Testing/lib/MFinance/SampleData/SingleGiftReceiptExpected.html"); Catalog.Init("de-DE", "de-DE"); TLanguageCulture.SetLanguageAndCulture("de-DE", "de-DE"); string receipts = TReceiptingWebConnector.CreateAnnualGiftReceipts(FLedgerNumber, new DateTime(DateTime.Today.Year, 1, 1), new DateTime(DateTime.Today.Year, 12, 31), FileContent); StreamWriter sw = new StreamWriter(formletterExpectedFile + ".new", false, encodingOfHTMLfile); sw.WriteLine(receipts); sw.WriteLine(); sw.Close(); SortedList <string, string> ToReplace = new SortedList <string, string>(); ToReplace.Add("#TODAY#", DateTime.Now.ToString("d. MMMM yyyy")); ToReplace.Add("#THISYEAR#", DateTime.Today.Year.ToString()); Assert.IsTrue( TTextFile.SameContent(formletterExpectedFile, formletterExpectedFile + ".new", true, ToReplace, true), "receipt was not printed as expected, check " + formletterExpectedFile + ".new"); File.Delete(formletterExpectedFile + ".new"); }