root/trunk/eCard/eCardMVC/Platnosci.Tests/Web/eCardDataTests.cs @ 971

Wersja 971, 11.8 KB (wprowadzona przez marek, 16 years temu)

re #215

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