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

Wersja 951, 9.4 KB (wprowadzona przez alina, 16 years temu)

re #215 dodanie testów, mała przebudowa akcji Merchant (wydzielenie funkcji)

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