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

Wersja 983, 11.4 KB (wprowadzona przez marek, 16 years temu)

re #215

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