root/trunk/eCard/eCardMVC/adMoto.Payments.Test/Utils/eCardDataTests.cs @ 982

Wersja 982, 11.7 KB (wprowadzona przez marek, 16 years temu)

re #215 - poprawki w testach + testy na status

RevLine 
[959]1using System;
[970]2using adMoto.Payments.Core;
3using adMoto.Payments.Core.Data;
[982]4using adMoto.Payments.Test.Fakes;
[971]5using adMoto.Payments.Web.Models;
[959]6using NUnit.Framework;
7
[982]8namespace adMoto.Payments.Test.Utils
[959]9{
10    [TestFixture]
[982]11// ReSharper disable InconsistentNaming
[969]12    public class eCardDataTests
[982]13// ReSharper restore InconsistentNaming
[959]14    {
[982]15        private readonly TestDataHelper _testDataHelper = new TestDataHelper();
[960]16
[959]17        [Test]
18        [Category("Unit")]
[982]19        public void SetHash_Returns_ZlyHash_When_Passing_Invalid_Merchant()
[960]20        {
[963]21            //Arrange
[959]22            var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
[982]23            var platnosc = _testDataHelper.CreateNewPayment(123, true, DateTime.Now, 1);
[959]24            repPayment.Insert(platnosc);
25           
[971]26            var ecarddata = new MerchantHelper(repPayment);
[959]27           
[982]28            var merchant = new Merchant{
[971]29                                             Payment = platnosc,
30                                             Id = "171485000",
31                                             Password = "ashSeth2",
32                                         };
[963]33
34            //Act
[959]35            var result = ecarddata.SetHash(merchant);
[963]36
37            //Assert
[959]38            Assert.That(result, Is.EqualTo(Merchant.BAD_HASH));
39        }
[960]40       
[959]41        [Test]
42        [Category("Unit")]
[960]43        public void SetHash_Returns_PaymentErrorInfo_When_Passing_Invalid_Payment()
[959]44        {
[963]45            //Arrange
[959]46            var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
[982]47            var platnosc = _testDataHelper.CreateNewPayment(123, true, DateTime.Now, 1);
[959]48           
49            repPayment.Insert(platnosc);
50
[971]51            var ecarddata = new MerchantHelper(repPayment);
[959]52
[982]53            var merchant = new Merchant
[971]54                               {
[982]55                                   Payment = new PlatnosciEcard{
[971]56                                                                     ORDERDESCRIPTION = "dd",
57                                                                     IDFaktury = 21,
58                                                                     Data = DateTime.Now
59                                                                 },
60                                   Id = "171485000",
61                                   Password = "ashSeth2",
62                               };
[963]63           
64            //Act
[959]65            var result = ecarddata.SetHash(merchant);
[963]66
67            //Assert
[959]68            Assert.That(result, Is.EqualTo(Merchant.HASH_ERROR_INFO));
69        }
70        [Test]
71        [Category("Unit")]
[960]72        public void SetHash_Returns_Correct_Hash_When_Passing_Valid_Data()
[959]73        {
[963]74            //Arrange
[959]75            var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
[982]76            var platnosc = _testDataHelper.CreateNewPayment(123, true, DateTime.Now, 1);
[959]77            platnosc.AMOUNT = 229;
[971]78            platnosc.CURRENCY = PaymentsUtils.PLN;
[959]79
80            repPayment.Insert(platnosc);
81
[971]82            var ecarddata = new MerchantHelper(repPayment);
[959]83
[982]84            var merchant = new Merchant
[971]85                               {
86                                   Payment = platnosc,
87                                   Id = "171485000",
88                                   Password = "ashSeth2",
89                               };
[963]90
91            //Act
[959]92            var result = ecarddata.SetHash(merchant);
[963]93
94            //Assert
95            Assert.That(result.Length, Is.GreaterThan(30));
[959]96        }
[960]97
[959]98        [Test]
99        [Category("Unit")]
[982]100        public void SetHash_Returns_Bad_Hash_When_Invoice_Amount_Is_Zero()
[959]101        {
[963]102            //Arrange
[959]103            var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
[982]104            var platnosc = _testDataHelper.CreateNewPayment(123, true, DateTime.Now, 1);
[959]105            platnosc.AMOUNT = 0;
[971]106            platnosc.CURRENCY = PaymentsUtils.PLN;
[959]107
108            repPayment.Insert(platnosc);
109
[971]110            var ecarddata = new MerchantHelper(repPayment);
[959]111
[982]112            var merchant = new Merchant
[971]113                               {
114                                   Payment = platnosc,
115                                   Id = "171485000",
116                                   Password = "ashSeth2",
117                               };
[963]118
119            //Act
[959]120            var result = ecarddata.SetHash(merchant);
[963]121
122            //Assert
[959]123            Assert.That(result, Is.EqualTo(Merchant.BAD_HASH));
124        }
[960]125
[959]126        [Test]
127        [Category("Unit")]
[982]128        public void SetHash_Returns_Bad_Hash_When_Password_Is_Wrong()
[959]129        {
[963]130            //Arrange
[959]131            var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
[982]132            var platnosc = _testDataHelper.CreateNewPayment(123, true, DateTime.Now, 1);
[959]133            platnosc.AMOUNT = 229;
[971]134            platnosc.CURRENCY = PaymentsUtils.PLN;
[959]135
136            repPayment.Insert(platnosc);
137
[971]138            var ecarddata = new MerchantHelper(repPayment);
[959]139
[982]140            var merchant = new Merchant
[971]141                               {
142                                   Payment = platnosc,
143                                   Id = "TEST",
144                                   Password = "test",
145                               };
[963]146
147            //Act
[959]148            var result = ecarddata.SetHash(merchant);
[963]149
150            //Assert
[959]151            Assert.That(result, Is.EqualTo(Merchant.BAD_HASH));
152        }
[963]153
154        [Test]
155        [Category("Unit")]
156        public void SetHash_Returns_Correct_Hash_When_Payment_Amount_Is_Less_Then_100()
157        {
158            //Arrange
159            var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
[982]160            var platnosc = _testDataHelper.CreateNewPayment(123, true, DateTime.Now, 1);
[963]161            platnosc.AMOUNT = 11;
[971]162            platnosc.CURRENCY = PaymentsUtils.PLN;
[963]163
164            repPayment.Insert(platnosc);
165
[971]166            var ecarddata = new MerchantHelper(repPayment);
[963]167
[982]168            var merchant = new Merchant
[971]169                               {
170                                   Payment = platnosc,
171                                   Id = "171485000",
172                                   Password = "ashSeth2",
173                               };
[963]174           
175            //Act
176            var result = ecarddata.SetHash(merchant);
177
178            //Assert
179            Assert.That(result.Length, Is.GreaterThan(30));
180        }
181
182        [Test]
183        [Category("Unit")]
184        public void Create_Merchant_Data_Returns_Invoice_Correct_Amount_When_Merchant_Is_Valid()
185        {
186            //Arrange
[982]187            const int idFaktury = 12345;
188            const int amountInPln = 5000;
189            const int amountInEur = 1300;
[963]190
[970]191            var repVPayment = new Repository<Invoice>(new FakeDataContext());
[982]192            var invoice = _testDataHelper.CreateForeignInvoice(idFaktury, "nip1", "abc/2009", amountInPln, 0, amountInEur, "EUR");
[963]193            repVPayment.Insert(invoice);
194
[982]195            var payer = _testDataHelper.CreatePayer(idFaktury, "test", "test");
[963]196            var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
[971]197            var eCardData = new MerchantHelper(repPayment);
[963]198
199            //Act
[982]200            eCardData.CreateMerchantData(invoice, payer, "pl", "ahaah");
[963]201            var payment = repPayment.FindOne(i => i.IDFaktury == idFaktury);
202
203            //Assert
[982]204            Assert.That(payment.AMOUNT, Is.EqualTo(amountInEur * 100));
[963]205        }
206
207        [Test]
208        [Category("Unit")]
[982]209        public void Create_Merchant_Data_Returns_Bad_Hash_When_Invoice_Amount_Is_Zero()
[963]210        {
211            //Arrange
[971]212            var ecarddata = new MerchantHelper(new Repository<PlatnosciEcard>(new FakeDataContext()));
[982]213            var invoice = _testDataHelper.CreateInvoice(123, "nip", "abc/2009", 0, 2);
[963]214
[982]215            var payer = _testDataHelper.CreatePayer(123, "test", "test");
[963]216
217            //Act
218            var result = ecarddata.CreateMerchantData(invoice, payer, "PL", "abcd");
219
220            //Assert
221            Assert.That(result.Error, Is.EqualTo("hash"));  //dla wartosci amount=0 eCard zwroci hash o wartości "zlyHash"
222        }
223
224        [Test]
225        [Category("Unit")]
226        public void Create_Merchant_Data_Returns_Error_When_Orderdescription_Is_Not_Valid()
227        {
228            //Arrange
[971]229            var ecarddata = new MerchantHelper(new Repository<PlatnosciEcard>(new FakeDataContext()));
[982]230            var invoice = _testDataHelper.CreateInvoice(123, "nip", "", 200, 2);
[963]231
[982]232            var payer = _testDataHelper.CreatePayer(123, "test", "test");
[963]233
234            //Act
235            var result = ecarddata.CreateMerchantData(invoice, payer, "PL", "abcd");
236
237            //Assert
238            System.Diagnostics.Debug.WriteLine("Error: " + result.Error + " is not valid.");
239            Assert.That(result.Error, Is.EqualTo("orderdescription"));
240        }
241
242        [Test]
243        [Category("Unit")]
244        public void Create_Merchant_Data_Returns_Error_When_Name_Is_Not_Valid()
245        {
246            //Arrange
[971]247            var ecarddata = new MerchantHelper(new Repository<PlatnosciEcard>(new FakeDataContext()));
[982]248            var invoice = _testDataHelper.CreateInvoice(123, "nip", "abc/2009", 200, 2);
[963]249
[982]250            var payer = _testDataHelper.CreatePayer(123, "", "test");
[963]251
252            //Act
253            var result = ecarddata.CreateMerchantData(invoice, payer, "PL", "abcd");
254           
255            //Assert
256            System.Diagnostics.Debug.WriteLine("Error: " + result.Error + " is not valid.");
257            Assert.That(result.Error, Is.EqualTo("name"));
258        }
259
260        [Test]
261        [Category("Unit")]
262        public void Create_Merchant_Data_Returns_Error_When_Surname_Is_Not_Valid()
263        {
264            //Arrange
[971]265            var ecarddata = new MerchantHelper(new Repository<PlatnosciEcard>(new FakeDataContext()));
[982]266            var invoice = _testDataHelper.CreateInvoice(123, "nip", "abc/2009", 200, 2);
[963]267
[982]268            var payer = _testDataHelper.CreatePayer(123, "test", "");
[963]269
270            //Act
271            var result = ecarddata.CreateMerchantData(invoice, payer, "PL", "abcd");
272           
273            //Assert
274            System.Diagnostics.Debug.WriteLine("Error: " + result.Error + " is not valid.");
275            Assert.That(result.Error, Is.EqualTo("surname"));
276        }
277
278        [Test]
279        [Category("Unit")]
280        public void Create_Merchant_Data_Returns_Valid_Merchnt_When_All_Data_Are_Correct()
281        {
282            //Arrange
[971]283            var ecarddata = new MerchantHelper(new Repository<PlatnosciEcard>(new FakeDataContext()));
[982]284            var invoice = _testDataHelper.CreateInvoice(123, "nip", "abc/2009", 200, 2);
[963]285
[982]286            var payer = _testDataHelper.CreatePayer(123, "test", "test");
[963]287
288            //Act
289            var result2 = ecarddata.CreateMerchantData(invoice, payer, "PL", "abcd");
290
291            //Assert
292            System.Diagnostics.Debug.WriteLine("Wszystkie dane sa poprawne!!");
293            Assert.That(result2.Error, Is.EqualTo(null));
294        }
295       
296        [Test]
297        [Category("Unit")]
[982]298        public void Get_Url_Returns_Correct_Ecard_Url()
[963]299        {
300            //Arrange
[982]301            var pl = new PlatnosciEcard {ORDERDESCRIPTION = "abc/2009"};
302            var m = new Merchant {Payment = pl, Id = "ABCD" };
[971]303            var eCardData = new MerchantHelper(new Repository<PlatnosciEcard>(new FakeDataContext()));
[963]304           
305            //Act
306            var result = eCardData.GetUrl(m);
307
308            //Assert
309            System.Diagnostics.Debug.WriteLine("eCard url:" + result + " " + m);
310            Assert.That(result, Is.Not.EqualTo(""));
311        }         
[959]312    }
[971]313}
Notatka: Zobacz TracBrowser aby uzyskać więcej informacji.