Pokaż
Ignoruj:
Data:
2009-11-24 12:21:39 (16 years ago)
Autor:
sylwek
Opis:

Re #195 merged with latest trunk

Lokalizacja:
branches/Emisje
Pliki:
2 zmodyfikowane

Legenda:

Bez zmian
Dodane
Usunięte
  • branches/Emisje

    • Property svn:mergeinfo
      •  

        old new  
         1/branches/Abonament:701-884 
        12/branches/AutoShopper:815-818 
        23/branches/ReklamaReorganizacja:568-731 
        34/tags/BazaReklam_1.1.28:831 
        4 /trunk:774-868 
         5/trunk:774-893 
  • branches/Emisje/eCard/eCardMVC/Platnosci.Tests/Web/PlatnosciControllerTests.cs

    r866 r895  
    1111using Platnosci.Core.Interface; 
    1212using Platnosci.Core.Linq; 
     13using WatiN.Core; 
     14using System.Threading; 
     15using Platnosci.Models; 
     16using Moq; 
    1317 
    1418namespace Platnosci.Tests.Web 
    1519{ 
    16     [TestFixture] 
     20    [TestFixture]    
    1721    class PlatnosciControllerTests 
    1822    { 
    1923        private string merchantNumber = "123"; 
    20  
    21         [TearDown] 
    22         public void TearDown() 
    23         { 
    24             IRepositoryPT _rep = new RepositoryPotwierdzeniaEcard(); 
    25             var potwierdzeniaEcard = _rep.Find(p => p.MERCHANTNUMBER == merchantNumber); 
    26  
    27             foreach (var pe in potwierdzeniaEcard) 
    28             { 
    29                 _rep.Delete(pe); 
    30             } 
    31         } 
    32  
    33         [Test] 
     24        private int orderNumber = 9999; 
     25        private string code_Ok = "payment_deposited";        //transakcja potwierdzona do rozliczenia 
     26        private string code_Bad = "payment_declined";        //transakcja odrzucona  
     27        private DateTime data = DateTime.Now; 
     28        private string testNip1 = "12345"; 
     29        private string testNip2 = "01234"; 
     30        private int testIdFaktury = 1000; 
     31        private string testNumerFaktury = "abcd"; 
     32        private decimal testBrutto = 200; 
     33        private int test = 1; //oznacza, ze nie ustawiamy tlumaczen poprzez funkcje ustawTlumaczenia() 
     34                              //w controllerze Platnosci, tylko poprzez funkcje setXXXXXXX() 
     35 
     36        private Function _f = new Function(); 
     37        private FunkcjePlatnosci _func = new FunkcjePlatnosci(); 
     38         
     39        [Test] 
     40        [Category("Unit")] 
    3441        public void Status_Saves_Correct_Transaction() 
    35         { 
    36              
    37             var orderNumber = 9999; 
    38  
     42        {           
     43           // //IDataContext fake = new FakeDataContext(); 
     44           // var repository = new Repository<PlatnosciEcard>(new FakeDataContext()); 
     45           // var platnosci = _f.createNewPayment(orderNumber, false, DateTime.Now, 12345); //new PlatnosciEcard(); 
     46           // repository.Insert(platnosci); 
     47           // repository.SubmitChanges(); 
     48 
     49 
     50           // DateTime datka = DateTime.Now; 
     51           // var builder = new TestControllerBuilder(); 
     52           // var controller = new PlatnoscController(fake,test); 
     53           // builder.InitializeController(controller); 
     54           // builder.Form.Add("MERCHANTNUMBER", merchantNumber.ToString()); 
     55           // builder.Form.Add("AUTHTIME", DateTime.Now.ToString()); 
     56           // builder.Form.Add("DATATRANSMISJI", DateTime.Now.ToString()); 
     57           // builder.Form.Add("ORDERNUMBER", orderNumber.ToString()); 
     58           // builder.Form.Add("CURRENTSTATE", code_Ok);            
     59            
     60           // var result = controller.Status(); 
     61            
     62           // IRepository<PotwierdzeniaEcard> _rep = new Repository<PotwierdzeniaEcard>(new FakeDataContext()); 
     63 
     64 
     65           // System.Diagnostics.Debug.WriteLine("" + _rep.Count()); 
     66 
     67           // //var potwierdzeniaEcard = _rep.Find(p => p.ORDERNUMBER == orderNumber).First(); 
     68           //// Assert.That(potwierdzeniaEcard.MERCHANTNUMBER, Is.EqualTo(merchantNumber)); 
     69           // PlatnosciEcard payment_after_update = _rep.FindPaymentByOrdernumber(orderNumber).SingleOrDefault(); 
     70           // System.Diagnostics.Debug.WriteLine(payment_after_update.Status_data + " > " + datka); 
     71           // Assert.That(payment_after_update.Status, Is.EqualTo(true)); 
     72             
     73        } 
     74        [Test] 
     75        [Category("Unit")] 
     76        public void Status_Saves_Correct_Transaction_IncorrectUpdate() 
     77        { 
     78            FakeDataContext fake = new FakeDataContext(2); 
     79            DateTime datka = DateTime.Now; 
    3980            var builder = new TestControllerBuilder(); 
    40             var controller = new PlatnoscController(); 
     81            var controller = new PlatnoscController(fake,test); 
    4182            builder.InitializeController(controller); 
    4283            builder.Form.Add("MERCHANTNUMBER", merchantNumber.ToString()); 
     
    4485            builder.Form.Add("DATATRANSMISJI", DateTime.Now.ToString()); 
    4586            builder.Form.Add("ORDERNUMBER", orderNumber.ToString()); 
     87            builder.Form.Add("CURRENTSTATE", code_Bad); 
    4688 
    4789            var result = controller.Status(); 
    48  
    49             IRepositoryPT _rep = new RepositoryPotwierdzeniaEcard(); 
     90            
     91            IRepository<PotwierdzeniaEcard> _rep = new Repository<PotwierdzeniaEcard>(fake); 
    5092            var potwierdzeniaEcard = _rep.Find(p => p.ORDERNUMBER == orderNumber).First(); 
    5193            Assert.That(potwierdzeniaEcard.MERCHANTNUMBER, Is.EqualTo(merchantNumber)); 
    52              
     94 
     95             
     96            PlatnosciEcard payment_after_update = _rep.FindPaymentByOrdernumber(orderNumber).SingleOrDefault(); 
     97            System.Diagnostics.Debug.WriteLine(payment_after_update.Status_data + " <= " + datka ); 
     98            Assert.That(payment_after_update.Status_data, Is.LessThanOrEqualTo(datka)); 
     99        } 
     100        [Test] 
     101        [Category("Unit")] 
     102        public void StatusIsUpdated() 
     103        { 
     104            FakeDataContext fake = new FakeDataContext(3); 
     105            IRepository<PlatnosciEcard> _rep = new Repository<PlatnosciEcard>(fake); 
     106 
     107            PlatnosciEcard platnosc = _f.createNewPayment(orderNumber, false, data.AddDays(-1), 1); 
     108            _rep.Insert(platnosc); 
     109 
     110            DateTime datka = DateTime.Now; 
     111            var controller = new PlatnoscController(fake,test); 
     112            controller.UpdateStatus(orderNumber, code_Ok);    
     113             
     114            PlatnosciEcard payment_after_update = new PlatnosciEcard(); 
     115            payment_after_update = _rep.FindOne(orderNumber); 
     116             
     117            Assert.That(payment_after_update.Status, Is.EqualTo(true)); 
     118        } 
     119        [Test] 
     120        [Category("Unit")] 
     121        public void StatusIsNotUpdated() 
     122        { 
     123            FakeDataContext fake = new FakeDataContext(); 
     124            IRepository<PlatnosciEcard> _rep = new Repository<PlatnosciEcard>(fake); 
     125 
     126            PlatnosciEcard platnosc = _f.createNewPayment(orderNumber, true, data, 1); 
     127            _rep.Insert(platnosc); 
     128 
     129            var controller = new PlatnoscController(fake,test); 
     130            controller.UpdateStatus(orderNumber, code_Bad);    
     131 
     132            PlatnosciEcard payment_after_update = new PlatnosciEcard(); 
     133            payment_after_update = _rep.FindOne(i => i.ORDERNUMBER == orderNumber); 
     134            Assert.That(payment_after_update.Status_data, Is.EqualTo(data)); 
     135        }         
     136        [Test] 
     137        [Category("Unit")] 
     138        public void ActionShowPayment_IncorrectUserIdentity_ReturnErrorView() 
     139        { 
     140            FakeDataContext fake = new FakeDataContext(); 
     141            IRepository<vPlatnosciEcard> _rep = new Repository<vPlatnosciEcard>(fake); 
     142 
     143            vPlatnosciEcard platnosc = _f.createPayment(testIdFaktury, testNip1, testNumerFaktury, 0, 0); 
     144            _rep.Insert(platnosc); 
     145 
     146            var controller = new PlatnoscController(fake,test); 
     147            controller.ControllerContext = _f.createControllerContext(testNip2); 
     148            controller.setWeryfikacja("Niepoprawny nip");             
     149            
     150            var result = controller.Show(testIdFaktury.ToString(),"pl") as ViewResult; 
     151            var error = (ErrorViewData)result.ViewData.Model; 
     152             
     153            Assert.That(error.error, Is.EqualTo("Niepoprawny nip")); 
     154            Assert.That(result.ViewName, Is.EqualTo("Error1")); 
     155        } 
     156        [Test] 
     157        [Category("Unit")] 
     158        public void ActionShowPayment_PaymentNotFound_ReturnErrorView() 
     159        { 
     160            FakeDataContext fake = new FakeDataContext(); 
     161           // IRepository<vPlatnosciEcard> _rep = new Repository<vPlatnosciEcard>(fake); 
     162 
     163            var controller = new PlatnoscController(fake,test); 
     164 
     165            controller.ControllerContext = _f.createControllerContext(testNip1); 
     166            controller.setBrakDanych("Platnosc o takim id nie istnieje"); 
     167 
     168            var result = controller.Show(testIdFaktury.ToString(), "pl") as ViewResult; 
     169            var error = (ErrorViewData)result.ViewData.Model; 
     170 
     171            Assert.That(error.error, Is.EqualTo("Platnosc o takim id nie istnieje")); 
     172            Assert.That(result.ViewName, Is.EqualTo("Error1")); 
     173        } 
     174        [Test] 
     175        [Category("Unit")] 
     176        public void ActionShowPayment_PaymentIsPaid(){ 
     177            //Tworzymy takie dane aby platnosc o danym id byla juz zaplacona  
     178            FakeDataContext fake = new FakeDataContext(1);  
     179            var controller = new PlatnoscController(fake,test); 
     180 
     181            controller.ControllerContext = _f.createControllerContext(testNip1); 
     182            controller.setZaplacono("Platnosc zostala uregulowana"); 
     183 
     184            var result = controller.Show(testIdFaktury.ToString(), "pl") as ViewResult; 
     185            var view = (InvoiceDetailsViewData)result.ViewData.Model; 
     186 
     187            Assert.That(result.ViewName, Is.EqualTo("Paid")); 
     188            Assert.That(view.info, Is.EqualTo("Platnosc zostala uregulowana")); 
     189        } 
     190        [Test] 
     191        [Category("Unit")] 
     192        public void ActionShowPayment_CorrectData_ReturnViewForPayment() 
     193        { 
     194            FakeDataContext fake = new FakeDataContext(); 
     195            IRepository<vPlatnosciEcard> _rep = new Repository<vPlatnosciEcard>(fake); 
     196                                                   
     197            vPlatnosciEcard platnosc = _f.createPayment(testIdFaktury, testNip1, testNumerFaktury, testBrutto, 0); 
     198            _rep.Insert(platnosc); 
     199 
     200            var controller = new PlatnoscController(fake,test); 
     201            controller.ControllerContext = _f.createControllerContext(testNip1); 
     202 
     203            var result = controller.Show(testIdFaktury.ToString(), "pl") as ViewResult; 
     204            Assert.IsInstanceOfType(typeof(InvoiceDetailsViewData), result.ViewData.Model); 
     205             
     206            var view = (InvoiceDetailsViewData)result.ViewData.Model; 
     207            Assert.That(view.vPlatnosciEcard.Brutto, Is.EqualTo(testBrutto)); 
     208            Assert.That(view.vPlatnosciEcard.Faktura_Numer, Is.EqualTo(testNumerFaktury));             
     209        } 
     210        [Test] 
     211        [Category("Unit")] 
     212        public void AfterPay_PaymentIsNotValid() 
     213        { 
     214            FakeDataContext fake = new FakeDataContext(); 
     215            IRepository<vPlatnosciEcard> _rep = new Repository<vPlatnosciEcard>(fake); 
     216 
     217            vPlatnosciEcard platnosc = _f.createPayment(testIdFaktury, testNip1, testNumerFaktury, testBrutto, 2); 
     218            _rep.Insert(platnosc); 
     219 
     220            var controller = new PlatnoscController(fake,1); 
     221            controller.ControllerContext = _f.createControllerContext(testNip1); 
     222             
     223            Payer payer = _f.createPayer(testIdFaktury, "", "test");  //Brak imienia 
     224            controller.Show(payer, "pl"); 
     225 
     226            Assert.That(controller.ModelState.IsValid, Is.False); 
     227        } 
     228        [Test] 
     229        [Category("Unit")] 
     230        public void AfterPay_PaymentIsValid() 
     231        { 
     232            FakeDataContext fake = new FakeDataContext(); 
     233            IRepository<vPlatnosciEcard> _rep = new Repository<vPlatnosciEcard>(fake); 
     234 
     235            vPlatnosciEcard platnosc = _f.createPayment(testIdFaktury, testNip1, testNumerFaktury, testBrutto, 2); 
     236            _rep.Insert(platnosc); 
     237 
     238            var controller = new PlatnoscController(fake,test); 
     239            controller.ControllerContext = _f.createControllerContext(testNip1); 
     240 
     241            Payer payer = _f.createPayer(testIdFaktury, "test", "test");   
     242            var result = controller.Show(payer, "pl") as ViewResult; 
     243 
     244            System.Diagnostics.Debug.WriteLine("AfterPay_PaymentIsValid_Test"); 
     245            Assert.That(controller.ModelState.IsValid, Is.True, "Model powinien byc true"); 
    53246        } 
    54247    } 
    55248} 
     249