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

Wersja 960, 9.4 KB (wprowadzona przez marek, 16 years temu)

re #215

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