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

Wersja 984, 11.6 KB (wprowadzona przez alina, 16 years temu)

re #215 ujednolicenie nazw obiektow, modyfikacje dotyczace testow interfejsowych (dodanie tymczasowych rekowrdow do bazy na czas testowania )

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