root/trunk/eCard/eCardMVC/adMoto.Payments.Test/Utils/MerchantHelperTests.cs @ 990

Wersja 990, 11.6 KB (wprowadzona przez marek, 16 years temu)

re #215

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