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

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