root/trunk/eCard/eCardMVC/Platnosci.Tests/Web/MerchantControllerTests.cs @ 954

Wersja 952, 9.3 KB (wprowadzona przez alina, 16 years temu)

re #215 testy i male przerobki (zmiana logo itp.)

Line 
1using System;
2using NUnit.Framework;
3using Platnosci.Core.Linq;
4using Platnosci.Core.Interface;
5using Platnosci.Controllers;
6using Platnosci.Models;
7using System.Web.Mvc;
8
9namespace Platnosci.Tests.Web
10{
11    [TestFixture]
12    class MerchantControllerTests
13    {
14        private readonly Function _function = new Function();
15        private readonly ITranslateManager _translateManager = new FakeTranslation();
16
17        [Test]
18        [Category("Unit")]
19        public void IncorrectUserIdentity_ReturnErrorView()
20        {
21            IRepository<vPlatnosciEcard> repVPayment = new Repository<vPlatnosciEcard>(new FakeDataContext());
22            vPlatnosciEcard platnosc = _function.CreateInvoice(123, "nip1", "", 0, 0);
23            repVPayment.Insert(platnosc);
24
25            Payer payer = _function.CreatePayer(123, "test", "test");
26
27            var controller = new PlatnoscController(repVPayment, null, null, _translateManager);
28            controller.ControllerContext = _function.CreateControllerContext("nip2");
29
30            var result = controller.Show(payer, "pl") as ViewResult;
31            var error = (ErrorViewData)result.ViewData.Model;
32
33            Assert.That(error.Error, Is.EqualTo("weryfikacja"));
34            Assert.That(result.ViewName, Is.EqualTo("Error1"));
35        }
36        [Test]
37        [Category("Unit")]
38        public void PaymentNotFound_ReturnErrorView()
39        {
40            IRepository<vPlatnosciEcard> repVPayment = new Repository<vPlatnosciEcard>(new FakeDataContext());
41            vPlatnosciEcard platnosc = _function.CreateInvoice(12, "nip1", "", 0, 0);
42            repVPayment.Insert(platnosc);
43
44            Payer payer = _function.CreatePayer(123, "test", "test");
45
46            var controller = new PlatnoscController(repVPayment, null, null, _translateManager);
47            controller.ControllerContext = _function.CreateControllerContext("nip2");
48
49            var result = controller.Show(payer, "pl") as ViewResult;
50            var error = (ErrorViewData)result.ViewData.Model;
51
52            Assert.That(error.Error, Is.EqualTo("brakdanych"));
53            Assert.That(result.ViewName, Is.EqualTo("Error1"));
54        }
55        [Test]
56        [Category("Unit")]
57        public void CheckCorrectAmount()
58        {
59            var idFaktury = 12345;
60            var amountPL = 5000;
61            var amountEUR = 1300;
62
63            var repVPayment = new Repository<vPlatnosciEcard>(new FakeDataContext());
64            var invoice = _function.CreateForeignInvoice(idFaktury, "nip1", "abc/2009", amountPL, 0, amountEUR, "EUR");
65            repVPayment.Insert(invoice);
66
67            var payer = _function.CreatePayer(idFaktury, "test", "test");
68            var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
69            var eCardData = new eCardData(repPayment);
70            var result = eCardData.CreateMerchantData(invoice, payer, "pl", "ahaah");
71            var payment = repPayment.FindOne(i => i.IDFaktury == idFaktury);
72
73            System.Diagnostics.Debug.WriteLine(payment + " -- Faktura jest w EUR.");
74            System.Diagnostics.Debug.WriteLine("PLN:" + amountPL + "," + " EUR:" + amountEUR);
75            Assert.That(payment.AMOUNT, Is.EqualTo(amountEUR * 100));
76        }
77        [Test]
78        [Category("Unit")]
79        public void CheckeCardUrl()
80        {
81            var m = new Merchant();
82            var pl = new PlatnosciEcard();
83            pl.ORDERDESCRIPTION = "abc/2009";
84            m.Payment = pl;
85            m.Id = "ABCD";
86           
87            var eCardData = new eCardData(new Repository<PlatnosciEcard>(new FakeDataContext()));
88            var result = eCardData.GetUrl(m);
89           
90            System.Diagnostics.Debug.WriteLine("eCard url:" + result + " " + m);
91            Assert.That(result, Is.Not.EqualTo(""));
92        }
93        [Test]
94        [Category("Unit")]
95        public void AmountIsNotValid()
96        {
97            var ecarddata = new eCardData(new Repository<PlatnosciEcard>(new FakeDataContext()));
98            var invoice = _function.CreateInvoice(123, "nip", "abc/2009", 0, 2);
99           
100            var payer = _function.CreatePayer(123, "test", "test");
101            var result = ecarddata.CreateMerchantData(invoice, payer, "PL", "abcd");
102
103            System.Diagnostics.Debug.WriteLine("Error: " + result.Error + " is not valid.");
104            Assert.That(result.Error, Is.EqualTo("hash"));  //dla wartosci amount=0 eCard zwroci hash o wartości "zlyHash"
105        }
106        [Test]
107        [Category("Unit")]
108        public void OrderdescriptionIsNotValid()
109        {
110            var ecarddata = new eCardData(new Repository<PlatnosciEcard>(new FakeDataContext()));
111            var invoice = _function.CreateInvoice(123, "nip", "", 200, 2);
112
113            var payer = _function.CreatePayer(123, "test", "test");
114            var result = ecarddata.CreateMerchantData(invoice, payer, "PL", "abcd");
115
116            System.Diagnostics.Debug.WriteLine("Error: " + result.Error + " is not valid.");
117            Assert.That(result.Error, Is.EqualTo("orderdescription"));
118        }
119        [Test]
120        [Category("Unit")]
121        public void CurrencyIsNotValid()
122        {
123            var m = new Merchant();
124            var p = new PlatnosciEcard();
125            m.Payment = p;
126            m.Payment.AMOUNT = 100;
127            m.Payment.AUTODEPOSIT = true;
128            m.Payment.ORDERDESCRIPTION = "abc/2009";
129            m.IsValid();
130            var result = m.Error;
131
132            System.Diagnostics.Debug.WriteLine("Error: " + result + " is not valid.");
133            Assert.That(result, Is.EqualTo("currency"));
134        }
135        [Test]
136        [Category("Unit")]
137        public void NameIsNotValid()
138        {
139
140            var ecarddata = new eCardData(new Repository<PlatnosciEcard>(new FakeDataContext()));
141            var invoice = _function.CreateInvoice(123, "nip", "abc/2009", 200, 2);
142
143            var payer = _function.CreatePayer(123, "", "test");
144            var result = ecarddata.CreateMerchantData(invoice, payer, "PL", "abcd");
145
146            System.Diagnostics.Debug.WriteLine("Error: " + result.Error + " is not valid.");
147            Assert.That(result.Error, Is.EqualTo("name"));
148        }
149        [Test]
150        [Category("Unit")]
151        public void SurnameIsNotValid()
152        {
153            var ecarddata = new eCardData(new Repository<PlatnosciEcard>(new FakeDataContext()));
154            var invoice = _function.CreateInvoice(123, "nip", "abc/2009", 200, 2);
155
156            var payer = _function.CreatePayer(123, "test", "");
157            var result = ecarddata.CreateMerchantData(invoice, payer, "PL", "abcd");
158
159            System.Diagnostics.Debug.WriteLine("Error: " + result.Error + " is not valid.");
160            Assert.That(result.Error, Is.EqualTo("surname"));
161        }
162        [Test]
163        [Category("Unit")]
164        public void LanguageIsNotValid()
165        {
166            var m = new Merchant();
167            var p = new PlatnosciEcard();
168            m.Payment = p;
169            m.Payment.AMOUNT = 100;
170            m.Payment.AUTODEPOSIT = true;
171            m.Payment.ORDERDESCRIPTION = "abc/2009";
172            m.Payment.CURRENCY = "test";
173            m.Payment.NAME = "test";
174            m.Payment.SURNAME = "test";
175
176            m.IsValid();
177            var result = m.Error;
178
179            System.Diagnostics.Debug.WriteLine("Error: " + result + " is not valid.");
180            Assert.That(result, Is.EqualTo("language"));
181        }
182       
183        [Test]
184        [Category("Unit")]
185        public void MerchantDataIsValid()
186        {
187            var m = new Merchant();
188            var p = new PlatnosciEcard();
189            m.Payment = p;
190            m.Payment.AMOUNT = 100;
191            m.Payment.AUTODEPOSIT = true;
192            m.Payment.ORDERDESCRIPTION = "abc/2009";
193            m.Payment.CURRENCY = "test";
194            m.Payment.NAME = "test";
195            m.Payment.SURNAME = "test";
196            m.Payment.LANGUAGE = "test";
197            m.Payment.ORDERNUMBER = 100;
198            m.Id = "aaaa";
199            m.Password = "aa";
200            m.Hash = "22";
201            m.LinkFail = "a";
202            m.LinkOk = "a";
203
204            m.IsValid();
205            var result = m.Error;
206            Assert.That(result,Is.EqualTo(null));
207
208            var ecarddata = new eCardData(new Repository<PlatnosciEcard>(new FakeDataContext()));
209            var invoice = _function.CreateInvoice(123, "nip", "abc/2009", 200, 2);
210
211            var payer = _function.CreatePayer(123, "test", "test");
212            var result2 = ecarddata.CreateMerchantData(invoice, payer, "PL", "abcd");
213
214            System.Diagnostics.Debug.WriteLine("Wszystkie dane sa poprawne!!");
215            Assert.That(result2.Error, Is.EqualTo(null));
216        }
217        [Test]
218        [Category("Unit")]
219        public void IncorrectValueAmount()
220        {
221            var ecarddata = new eCardData(new Repository<PlatnosciEcard>(new FakeDataContext()));
222            var brutto = Convert.ToDecimal(0.11);
223            var invoice = _function.CreateInvoice(123, "nip", "abc/2009", brutto, 2);
224
225            var payer = _function.CreatePayer(123, "test", "test");
226            var result = ecarddata.CreateMerchantData(invoice, payer, "PL", "abcd");
227
228            Assert.That(result.Error, Is.EqualTo(null));
229        }       
230    }
231}
Notatka: Zobacz TracBrowser aby uzyskać więcej informacji.