root/trunk/eCard/eCardMVC/adMoto.Payments.Test/Controllers/PlatnosciControllerTests.cs @ 984

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

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

RevLine 
[866]1using System;
2using System.Web.Mvc;
[970]3using adMoto.Payments.Core;
4using adMoto.Payments.Core.Data;
5using adMoto.Payments.Core.Interfaces;
[982]6using adMoto.Payments.Test.Fakes;
[971]7using adMoto.Payments.Web.Controllers;
8using adMoto.Payments.Web.Models;
[866]9using NUnit.Framework;
10
[982]11namespace adMoto.Payments.Test.Controllers
[866]12{
[969]13    [TestFixture]
14    public class PlatnosciControllerTests
[866]15    {
[931]16        private readonly ITranslateManager _translateManager = new FakeTranslation();
[933]17        private const string MERCHANT_NUMBER = "123";
[931]18        private readonly int _orderNumber = 9999;
19        private const string CODE_OK = "payment_deposited";        //transakcja potwierdzona do rozliczenia
20        private const string CODE_BAD = "payment_declined";        //transakcja odrzucona
21        private readonly DateTime _data = DateTime.Now;
[982]22        private readonly TestDataHelper _testDataHelper = new TestDataHelper();
[896]23               
[877]24        [Test]
25        [Category("Unit")]
[963]26        public void Update_Status_Payment_Is_Update_When_Currentstate_Is_CODE_OK()
[871]27        {
[963]28            //Arrange
[896]29            IRepository<PlatnosciEcard> repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
[984]30            PlatnosciEcard payment = _testDataHelper.CreateNewPayment(_orderNumber, false, _data, 1);
31            repPayment.Insert(payment);
[872]32
[963]33            //Act
[931]34            var controller = new PlatnoscController(null, repPayment, null, _translateManager);
35            controller.UpdateStatus(_orderNumber, CODE_OK);
36
37            var paymentAfterUpdate = repPayment.FindOne(_orderNumber);
[963]38
39            //Assert
[931]40            System.Diagnostics.Debug.WriteLine("Status musi byc 'true'. Jest " + paymentAfterUpdate.Status);
41            Assert.That(paymentAfterUpdate.Status, Is.EqualTo(true));
[871]42        }
[963]43
[871]44        [Test]
45        [Category("Unit")]
[963]46        public void Update_Status_Payment_Is_Not_Update_When_Currentstate_Is_CODE_BAD()
[871]47        {
[963]48            //Arrange
[896]49            IRepository<PlatnosciEcard> repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
[984]50            var payment= _testDataHelper.CreateNewPayment(_orderNumber, false, _data, 1);
51            repPayment.Insert(payment);
[871]52
[931]53            var controller = new PlatnoscController(null, repPayment, null, _translateManager);
[963]54           
55            //Act
[931]56            controller.UpdateStatus(_orderNumber, CODE_BAD);
[963]57            var paymentAfterUpdate = repPayment.FindOne(i => i.ORDERNUMBER == _orderNumber);
[871]58
[963]59            //Assert
[931]60            System.Diagnostics.Debug.WriteLine("Status musi byc 'false'. Jest " + paymentAfterUpdate.Status);
61            Assert.That(paymentAfterUpdate.Status, Is.EqualTo(false));
[963]62        }
63       
[871]64        [Test]
65        [Category("Unit")]
[963]66        public void Show_Action_Returns_Error_View_When_Passing_Incorrect_User_Identity()
[871]67        {
[963]68            //Arrange
[970]69            IRepository<Invoice> repVPayment = new Repository<Invoice>(new FakeDataContext());
[984]70            var invoice = _testDataHelper.CreateInvoice(123, "nip1", "", 0, 0);
71            repVPayment.Insert(invoice);
[871]72
[931]73            var controller = new PlatnoscController(repVPayment, null, null, _translateManager);
[982]74            controller.ControllerContext = _testDataHelper.CreateControllerContext("nip2");
[872]75           
[963]76            //Act
[896]77            var result = controller.Show("123","pl") as ViewResult;
[871]78            var error = (ErrorViewData)result.ViewData.Model;
[896]79
[963]80            //Assert
[933]81            Assert.That(error.Error, Is.EqualTo("weryfikacja"));
[872]82            Assert.That(result.ViewName, Is.EqualTo("Error1"));
[871]83        }
[963]84
[871]85        [Test]
86        [Category("Unit")]
[963]87        public void Show_Action_Returns_Error_View_When_Payment_Is_Not_Found()
[871]88        {
[963]89            //Arrange
[970]90            IRepository<Invoice> repVPayment = new Repository<Invoice>(new FakeDataContext());
[984]91            var invoice = _testDataHelper.CreateInvoice(123, "nip2", "", 0, 0);
92            repVPayment.Insert(invoice);
[871]93
[931]94            var controller = new PlatnoscController(repVPayment, null, null, _translateManager);
[982]95            controller.ControllerContext = _testDataHelper.CreateControllerContext("nip2");
[871]96
[963]97            //Act
[896]98            var result = controller.Show("1234", "pl") as ViewResult;
[872]99            var error = (ErrorViewData)result.ViewData.Model;
[871]100
[963]101
102            //Assert
[933]103            Assert.That(error.Error, Is.EqualTo("brakdanych"));
[872]104            Assert.That(result.ViewName, Is.EqualTo("Error1"));
[871]105        }
[963]106
[871]107        [Test]
108        [Category("Unit")]
[963]109        public void Show_Action_Returns_Paid_View_When_Payment_Is_Paid()
[896]110        {
[963]111            //Arrange
[872]112            //Tworzymy takie dane aby platnosc o danym id byla juz zaplacona
[970]113            var repVPayment = new Repository<Invoice>(new FakeDataContext());
[982]114            var invoice = _testDataHelper.CreateInvoice(123, "nip1", "aaa", 0, 0);
[896]115            repVPayment.Insert(invoice);
116            repVPayment.SubmitChanges();
[872]117
[896]118            var repConfirm = new Repository<PotwierdzeniaEcard>(new FakeDataContext());
[982]119            var confirm = _testDataHelper.CreateConfirm(CODE_OK, 123456);
[896]120            repConfirm.Insert(confirm);
121            repConfirm.SubmitChanges();
122
[931]123            var controller = new PlatnoscController(repVPayment, null, repConfirm, _translateManager);
[982]124            controller.ControllerContext = _testDataHelper.CreateControllerContext("nip1");
[872]125
[963]126            //Act
[896]127            var result = controller.Show("123", "pl") as ViewResult;
[888]128            var view = (InvoiceDetailsViewData)result.ViewData.Model;
[872]129
[963]130            //Assert
[888]131            Assert.That(result.ViewName, Is.EqualTo("Paid"));
[971]132            Assert.That(view.Info, Is.EqualTo("zaplacono"));
[872]133        }
[963]134
[872]135        [Test]
136        [Category("Unit")]
[963]137        public void Show_Action_Returns_View_For_Payment_When_Payment_is_Outstanding()
[871]138        {
[963]139            //Arrange
[970]140            IRepository<Invoice> repVPayment = new Repository<Invoice>(new FakeDataContext());
[984]141            var invoice = _testDataHelper.CreateInvoice(123, "nip1", "numer", 200, 0);
142            repVPayment.Insert(invoice);
[871]143
[896]144            var repConfirm = new Repository<PotwierdzeniaEcard>(new FakeDataContext());
[982]145            var confirm = _testDataHelper.CreateConfirm(CODE_OK, 1);
[896]146            repConfirm.Insert(confirm);
147            repConfirm.SubmitChanges();
[871]148
[931]149            var controller = new PlatnoscController(repVPayment, null, repConfirm, _translateManager);
[982]150            controller.ControllerContext = _testDataHelper.CreateControllerContext("nip1");
[896]151
[963]152            //Act
153            var result = controller.Show("123", "pl") as ViewResult;                     
[872]154            var view = (InvoiceDetailsViewData)result.ViewData.Model;
[971]155            System.Diagnostics.Debug.WriteLine("Brutto 200: " + view.Invoice.Brutto);
156            System.Diagnostics.Debug.WriteLine("Nr Faktury musi byc 'numer'. Jest " + view.Invoice.Faktura_Numer);
[963]157           
158            //Assert
[971]159            Assert.That(view.Invoice.Brutto, Is.EqualTo(200));
160            Assert.That(view.Invoice.Faktura_Numer, Is.EqualTo("numer"));           
[871]161        }
[963]162
[871]163        [Test]
164        [Category("Unit")]
[963]165        public void AfterPay_Show_Action_Returns_Error_When_Name_Is_Null()
[871]166        {
[963]167            //Arrange
[970]168            IRepository<Invoice> repVPayment = new Repository<Invoice>(new FakeDataContext());
[984]169            var invoice = _testDataHelper.CreateInvoice(123, "nip1", "numer", 200, 0);
170            repVPayment.Insert(invoice);
[871]171
[931]172            var controller = new PlatnoscController(repVPayment, null, null, _translateManager);
[982]173            controller.ControllerContext = _testDataHelper.CreateControllerContext("nip1");
[872]174           
[982]175            Payer payer = _testDataHelper.CreatePayer(123, "", "test");  //Brak imienia
[963]176
177            //Act
[872]178            controller.Show(payer, "pl");
[963]179
180            //Assert
[872]181            Assert.That(controller.ModelState.IsValid, Is.False);
[871]182        }
[963]183
[871]184        [Test]
185        [Category("Unit")]
[963]186        public void AfterPay_Show_Action_Returns_Error_When_Surname_Is_Null()
[871]187        {
[963]188            //Arrange
[970]189            IRepository<Invoice> repVPayment = new Repository<Invoice>(new FakeDataContext());
[984]190            var invoice = _testDataHelper.CreateInvoice(123, "nip1", "numer", 200, 0);
191            repVPayment.Insert(invoice);
[871]192
[931]193            var controller = new PlatnoscController(repVPayment, null, null, _translateManager);
[982]194            controller.ControllerContext = _testDataHelper.CreateControllerContext("nip1");
[871]195
[982]196            Payer payer = _testDataHelper.CreatePayer(123, "test", "");  //Brak nazwiska
[963]197
198            //Act
[931]199            controller.Show(payer, "pl");
[871]200
[963]201            //Assert
202            Assert.That(controller.ModelState.IsValid, Is.False);
203        }
204
205        [Test]
206        [Category("Unit")]
207        public void AfterPay_Show_Action_Returns_Error_When_Name_Is_Too_Long()
208        {
209            //Arrange
[970]210            IRepository<Invoice> repVPayment = new Repository<Invoice>(new FakeDataContext());
[984]211            var invoice = _testDataHelper.CreateInvoice(123, "nip1", "numer", 200, 0);
212            repVPayment.Insert(invoice);
[963]213
214            var controller = new PlatnoscController(repVPayment, null, null, _translateManager);
[982]215            controller.ControllerContext = _testDataHelper.CreateControllerContext("nip1");
[984]216            var firstname = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
217            var payer = _testDataHelper.CreatePayer(123, firstname, "test");
[963]218
219            //Act
220            controller.Show(payer, "pl");
221
222            //Assert
223            Assert.That(controller.ModelState.IsValid, Is.False);
224        }
225
226        [Test]
227        [Category("Unit")]
228        public void AfterPay_Show_Action_Returns_Error_When_Surname_Is_Too_Long()
229        {
230            //Arrange
[970]231            IRepository<Invoice> repVPayment = new Repository<Invoice>(new FakeDataContext());
[984]232            var invoice = _testDataHelper.CreateInvoice(123, "nip1", "numer", 200, 0);
233            repVPayment.Insert(invoice);
[963]234
235            var controller = new PlatnoscController(repVPayment, null, null, _translateManager);
[982]236            controller.ControllerContext = _testDataHelper.CreateControllerContext("nip1");
[970]237            var surname = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
[982]238            var payer = _testDataHelper.CreatePayer(123, "test", surname);
[963]239
240            //Act
241            controller.Show(payer, "pl");
242
243            //Assert
244            Assert.That(controller.ModelState.IsValid, Is.False);
245        }
246
247        [Test]
248        [Category("Unit")]
249        public void AfterPay_Show_Action_Returns_Error_When_Name_And_Surname_Is_Not_Null()
250        {
251            //Arrange
[970]252            IRepository<Invoice> repVPayment = new Repository<Invoice>(new FakeDataContext());
[984]253            var invoice = _testDataHelper.CreateInvoice(123, "nip1", "numer", 200, 0);
254            repVPayment.Insert(invoice);
[963]255
256            var controller = new PlatnoscController(repVPayment, null, null, _translateManager);
[982]257            controller.ControllerContext = _testDataHelper.CreateControllerContext("nip1");
[963]258
[982]259            var payer = _testDataHelper.CreatePayer(123, "test", "test");
[963]260 
261            //Act
262            controller.Show(payer, "pl");
[984]263           
[963]264            //Assert
[896]265            System.Diagnostics.Debug.WriteLine("Model powinien byc 'true'. Jest " + controller.ModelState.IsValid);
266            Assert.That(controller.ModelState.IsValid, Is.True);
[951]267        }       
[866]268    }
[982]269}
Notatka: Zobacz TracBrowser aby uzyskać więcej informacji.