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

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

re #215

Line 
1using System;
2using System.Linq;
3using adMoto.Payments.Core;
4using adMoto.Payments.Core.Data;
5using adMoto.Payments.Test.Fakes;
6using adMoto.Payments.Web.Models;
7using NUnit.Framework;
8
9namespace adMoto.Payments.Test.Utils
10{
11    [TestFixture]
12    // ReSharper disable InconsistentNaming
13    public class MerchantHelperTests
14    // ReSharper restore InconsistentNaming
15    {
16        private readonly TestDataHelper _testDataHelper = new TestDataHelper();
17
18        [Test]
19        [Category("Unit")]
20        public void SetHash_Returns_ZlyHash_When_Passing_Invalid_Merchant()
21        {
22            //Arrange
23            var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
24            var payment = _testDataHelper.CreateNewPayment(123, true, DateTime.Now, 1);
25            repPayment.Insert(payment);
26
27            var ecarddata = new MerchantHelper(repPayment);
28
29            var merchant = new Merchant
30                               {
31                                  Payment = payment,
32                                  Id = "171485000",
33                                  Password = "ashSeth2",
34                               };
35
36            //Act
37            var result = ecarddata.SetHash(merchant);
38
39            //Assert
40            Assert.That(result, Is.EqualTo(Merchant.BAD_HASH));
41        }
42
43        [Test]
44        [Category("Unit")]
45        public void SetHash_Returns_PaymentErrorInfo_When_Passing_Invalid_Payment()
46        {
47            //Arrange
48            var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
49            var payment = _testDataHelper.CreateNewPayment(123, true, DateTime.Now, 1);
50
51            repPayment.Insert(payment);
52
53            var ecarddata = new MerchantHelper(repPayment);
54
55            var merchant = new Merchant
56                               {
57                                   Payment = new PlatnosciEcard
58                                                 {
59                                                    ORDERDESCRIPTION = "dd",
60                                                    IDFaktury = 21,
61                                                    Data = DateTime.Now
62                                                 },
63                                   Id = "171485000",
64                                   Password = "ashSeth2",
65                               };
66
67            //Act
68            var result = ecarddata.SetHash(merchant);
69
70            //Assert
71            Assert.That(result, Is.EqualTo(Merchant.HASH_ERROR_INFO));
72        }
73        [Test]
74        [Category("Unit")]
75        public void SetHash_Returns_Correct_Hash_When_Passing_Valid_Data()
76        {
77            //Arrange
78            var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
79            var payment = _testDataHelper.CreateNewPayment(123, true, DateTime.Now, 1);
80            payment.AMOUNT = 229;
81            payment.CURRENCY = PaymentsUtils.PLN;
82
83            repPayment.Insert(payment);
84
85            var ecarddata = new MerchantHelper(repPayment);
86
87            var merchant = new Merchant
88                               {
89                                   Payment = payment,
90                                   Id = "171485000",
91                                   Password = "ashSeth2",
92                               };
93
94            //Act
95            var result = ecarddata.SetHash(merchant);
96
97            //Assert
98            Assert.That(result.Length, Is.GreaterThan(30));
99        }
100
101        [Test]
102        [Category("Unit")]
103        public void SetHash_Returns_Bad_Hash_When_Invoice_Amount_Is_Zero()
104        {
105            //Arrange
106            var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
107            var payment = _testDataHelper.CreateNewPayment(123, true, DateTime.Now, 1);
108            payment.AMOUNT = 0;
109            payment.CURRENCY = PaymentsUtils.PLN;
110
111            repPayment.Insert(payment);
112
113            var ecarddata = new MerchantHelper(repPayment);
114
115            var merchant = new Merchant
116                               {
117                                   Payment = payment,
118                                   Id = "171485000",
119                                   Password = "ashSeth2",
120                               };
121
122            //Act
123            var result = ecarddata.SetHash(merchant);
124
125            //Assert
126            Assert.That(result, Is.EqualTo(Merchant.BAD_HASH));
127        }
128
129        [Test]
130        [Category("Unit")]
131        public void SetHash_Returns_Bad_Hash_When_Password_Is_Wrong()
132        {
133            //Arrange
134            var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
135            var payment = _testDataHelper.CreateNewPayment(123, true, DateTime.Now, 1);
136            payment.AMOUNT = 229;
137            payment.CURRENCY = PaymentsUtils.PLN;
138
139            repPayment.Insert(payment);
140
141            var ecarddata = new MerchantHelper(repPayment);
142
143            var merchant = new Merchant
144                               {
145                                   Payment = payment,
146                                   Id = "TEST",
147                                   Password = "test",
148                               };
149
150            //Act
151            var result = ecarddata.SetHash(merchant);
152
153            //Assert
154            Assert.That(result, Is.EqualTo(Merchant.BAD_HASH));
155        }
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());
163            var payment = _testDataHelper.CreateNewPayment(123, true, DateTime.Now, 1);
164            payment.AMOUNT = 11;
165            payment.CURRENCY = PaymentsUtils.PLN;
166
167            repPayment.Insert(payment);
168
169            var ecarddata = new MerchantHelper(repPayment);
170
171            var merchant = new Merchant
172                               {
173                                   Payment = payment,
174                                   Id = "171485000",
175                                   Password = "ashSeth2",
176                               };
177
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
190            const int idFaktury = 12345;
191            const int amountInPln = 5000;
192            const int amountInEur = 1300;
193
194            var repVPayment = new Repository<Invoice>(new FakeDataContext());
195            var invoice = _testDataHelper.CreateForeignInvoice(idFaktury, "nip1", "abc/2009", amountInPln, 0, amountInEur, "EUR");
196            repVPayment.Insert(invoice);
197
198            var payer = _testDataHelper.CreatePayer(idFaktury, "test", "test");
199            var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
200            var eCardData = new MerchantHelper(repPayment);
201
202            //Act
203            eCardData.CreateMerchantData(invoice, payer, "pl", "ahaah");
204            var payment = repPayment.Find(i => i.IDFaktury == idFaktury).FirstOrDefault();
205
206            //Assert
207            Assert.That(payment.AMOUNT, Is.EqualTo(amountInEur * 100));
208        }
209
210        [Test]
211        [Category("Unit")]
212        public void Create_Merchant_Data_Returns_Bad_Hash_When_Invoice_Amount_Is_Zero()
213        {
214            //Arrange
215            var ecarddata = new MerchantHelper(new Repository<PlatnosciEcard>(new FakeDataContext()));
216            var invoice = _testDataHelper.CreateInvoice(123, "nip", "abc/2009", 0, 2);
217
218            var payer = _testDataHelper.CreatePayer(123, "test", "test");
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
232            var ecarddata = new MerchantHelper(new Repository<PlatnosciEcard>(new FakeDataContext()));
233            var invoice = _testDataHelper.CreateInvoice(123, "nip", "", 200, 2);
234
235            var payer = _testDataHelper.CreatePayer(123, "test", "test");
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
250            var ecarddata = new MerchantHelper(new Repository<PlatnosciEcard>(new FakeDataContext()));
251            var invoice = _testDataHelper.CreateInvoice(123, "nip", "abc/2009", 200, 2);
252
253            var payer = _testDataHelper.CreatePayer(123, "", "test");
254
255            //Act
256            var result = ecarddata.CreateMerchantData(invoice, payer, "PL", "abcd");
257
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
268            var ecarddata = new MerchantHelper(new Repository<PlatnosciEcard>(new FakeDataContext()));
269            var invoice = _testDataHelper.CreateInvoice(123, "nip", "abc/2009", 200, 2);
270
271            var payer = _testDataHelper.CreatePayer(123, "test", "");
272
273            //Act
274            var result = ecarddata.CreateMerchantData(invoice, payer, "PL", "abcd");
275
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
286            var ecarddata = new MerchantHelper(new Repository<PlatnosciEcard>(new FakeDataContext()));
287            var invoice = _testDataHelper.CreateInvoice(123, "nip", "abc/2009", 200, 2);
288
289            var payer = _testDataHelper.CreatePayer(123, "test", "test");
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        }
298
299        [Test]
300        [Category("Unit")]
301        public void Get_Url_Returns_Correct_Ecard_Url()
302        {
303            //Arrange
304            var payment = new PlatnosciEcard { ORDERDESCRIPTION = "abc/2009" };
305            var merchant = new Merchant { Payment = payment, Id = "ABCD" };
306            var eCardData = new MerchantHelper(new Repository<PlatnosciEcard>(new FakeDataContext()));
307
308            //Act
309            var result = eCardData.GetUrl(merchant);
310
311            //Assert
312            System.Diagnostics.Debug.WriteLine("eCard url:" + result + " " + merchant);
313            Assert.That(result, Is.Not.EqualTo(""));
314        }
315    }
316}
Notatka: Zobacz TracBrowser aby uzyskać więcej informacji.