Index: trunk/eCard/eCardMVC/Platnosci.Tests/Platnosci.Tests.csproj
===================================================================
--- trunk/eCard/eCardMVC/Platnosci.Tests/Platnosci.Tests.csproj (revision 866)
+++ trunk/eCard/eCardMVC/Platnosci.Tests/Platnosci.Tests.csproj (revision 871)
@@ -65,7 +65,12 @@
     <Reference Include="System.Data" />
     <Reference Include="System.Xml" />
+    <Reference Include="WatiN.Core, Version=2.0.10.928, Culture=neutral, PublicKeyToken=db7cfd3acb5ad44e, processorArchitecture=x86">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\..\..\Documents and Settings\Administrator\Pulpit\WatiN-2.0.10.928-net-2.0\bin\WatiN.Core.dll</HintPath>
+    </Reference>
   </ItemGroup>
   <ItemGroup>
     <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="Web\FakeDataContext.cs" />
     <Compile Include="Web\PlatnosciControllerTests.cs" />
   </ItemGroup>
@@ -80,4 +85,7 @@
     </ProjectReference>
   </ItemGroup>
+  <ItemGroup>
+    <Content Include="app.config" />
+  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
Index: trunk/eCard/eCardMVC/Platnosci.Tests/Web/PlatnosciControllerTests.cs
===================================================================
--- trunk/eCard/eCardMVC/Platnosci.Tests/Web/PlatnosciControllerTests.cs (revision 870)
+++ trunk/eCard/eCardMVC/Platnosci.Tests/Web/PlatnosciControllerTests.cs (revision 871)
@@ -11,11 +11,17 @@
 using Platnosci.Core.Interface;
 using Platnosci.Core.Linq;
+using WatiN.Core;
+using System.Threading;
+using Platnosci.Models;
+using Rhino.Mocks;
 
 namespace Platnosci.Tests.Web
 {
     [TestFixture]
+   
     class PlatnosciControllerTests
     {
-         private string merchantNumber = "123";
+        private string merchantNumber = "123";
+        private FunkcjePlatnosci _func = new FunkcjePlatnosci();
 
          /*[TearDown]
@@ -31,25 +37,80 @@
          }
         */
-         [Test]
-         public void Status_Saves_Correct_Transaction()
-         {
-            
-             var orderNumber = 9999;
-             FakeDataContext fake = new FakeDataContext();
-             var builder = new TestControllerBuilder();
-             var controller = new PlatnoscController(fake);
-             builder.InitializeController(controller);
-             builder.Form.Add("MERCHANTNUMBER", merchantNumber.ToString());
-             builder.Form.Add("AUTHTIME", DateTime.Now.ToString());
-             builder.Form.Add("DATATRANSMISJI", DateTime.Now.ToString());
-             builder.Form.Add("ORDERNUMBER", orderNumber.ToString());
-
-             var result = controller.Status();
-
-             IRepository<PotwierdzeniaEcard> _rep = new Repository<PotwierdzeniaEcard>(fake);            
-             var potwierdzeniaEcard = _rep.Find(p => p.ORDERNUMBER == orderNumber).First();
-             Assert.That(potwierdzeniaEcard.MERCHANTNUMBER, Is.EqualTo(merchantNumber));            
-         } 
-        [Test]
+       
+
+        [Test]
+        [Category("Unit")]
+        public void Status_Saves_Correct_Transaction()
+        {          
+            var orderNumber = 9999;
+            FakeDataContext fake = new FakeDataContext();
+            var builder = new TestControllerBuilder();
+            var controller = new PlatnoscController(fake);
+            builder.InitializeController(controller);
+            builder.Form.Add("MERCHANTNUMBER", merchantNumber.ToString());
+            builder.Form.Add("AUTHTIME", DateTime.Now.ToString());
+            builder.Form.Add("DATATRANSMISJI", DateTime.Now.ToString());
+            builder.Form.Add("ORDERNUMBER", orderNumber.ToString());
+
+            var result = controller.Status();
+
+            IRepository<PotwierdzeniaEcard> _rep = new Repository<PotwierdzeniaEcard>(fake);            
+            var potwierdzeniaEcard = _rep.Find(p => p.ORDERNUMBER == orderNumber).First();
+            Assert.That(potwierdzeniaEcard.MERCHANTNUMBER, Is.EqualTo(merchantNumber));            
+        }
+        [Test]
+        [Category("Unit")]
+        public void StatusIsUpdated()
+        {
+            FakeDataContext fake = new FakeDataContext();
+            IRepository<PlatnosciEcard> _rep = new Repository<PlatnosciEcard>(fake);
+             
+            DateTime data = DateTime.Now;
+
+            PlatnosciEcard platnosc = new PlatnosciEcard();
+            platnosc.ORDERNUMBER = 1;
+            platnosc.Status = true;
+            platnosc.Status_data = data;
+            _rep.Insert(platnosc);
+
+            var builder = new TestControllerBuilder();
+            var controller = new PlatnoscController(fake);
+            builder.InitializeController(controller);         
+
+            controller.UpdateStatus(1, "000");   //000 - płatność poprawna
+
+            PlatnosciEcard payment_after_update = new PlatnosciEcard();
+            payment_after_update = _rep.FindOne(i => i.ORDERNUMBER == 1);
+            Assert.That(payment_after_update.Status_data, Is.GreaterThan(data));
+        }
+        [Test]
+        [Category("Unit")]
+        public void StatusIsNotUpdated()
+        {
+            FakeDataContext fake = new FakeDataContext();
+            IRepository<PlatnosciEcard> _rep = new Repository<PlatnosciEcard>(fake);
+
+            DateTime data = DateTime.Now;
+
+            PlatnosciEcard platnosc = new PlatnosciEcard();
+            platnosc.ORDERNUMBER = 1;
+            platnosc.Status = true;
+            platnosc.Status_data = data;
+            _rep.Insert(platnosc);
+
+            var builder = new TestControllerBuilder();
+            var controller = new PlatnoscController(fake);
+            builder.InitializeController(controller);
+
+            controller.UpdateStatus(1, "111");   //111 - płatność niepoprawna, ze wzgledu na zly numer karty
+
+            PlatnosciEcard payment_after_update = new PlatnosciEcard();
+            payment_after_update = _rep.FindOne(i => i.ORDERNUMBER == 1);
+            Assert.That(payment_after_update.Status_data, Is.EqualTo(data));
+
+        }
+        
+        [Test]
+        [Category("Unit")]
         public void NumerFaktury()
         {
@@ -59,7 +120,8 @@
              vPlatnosciEcard platnosc = new vPlatnosciEcard();
              platnosc = _rep.FindInvoiceById(1).SingleOrDefault();
-             Assert.That(platnosc.Faktura_Numer, Is.EqualTo("222/2"));
-        }
-        [Test]
+             Assert.That(platnosc.Faktura_Numer, Is.EqualTo("1"));
+        }
+        [Test]
+        [Category("Unit")]
         public void AddPayment()
         {
@@ -80,5 +142,158 @@
             Assert.That(pl.nip, Is.EqualTo("nipek"));
         }
-        
+        [Test]
+        [Category("Unit")]
+        public void ShowPayment_BadNip()
+        {
+            FakeDataContext fake = new FakeDataContext();
+            IRepository<vPlatnosciEcard> _rep = new Repository<vPlatnosciEcard>(fake);
+
+            vPlatnosciEcard platnosc = new vPlatnosciEcard();
+            platnosc.ID_faktury = 74828;
+            platnosc.nip = "854956281";
+            platnosc.Faktura_Numer = "27/ASZ/2009";
+            _rep.Insert(platnosc);
+
+            var builder = new TestControllerBuilder();
+            var controller = new PlatnoscController(fake);
+            controller.setUserIdentity("122");
+            controller.setWeryfikacja("Niepoprawny nip"); 
+            builder.InitializeController(controller);
+            
+            var result = controller.Show("74828","pl") as ViewResult;
+            var error = (ErrorViewData)result.ViewData.Model;
+            
+            Assert.That(error.error, Is.EqualTo("Niepoprawny nip"));          
+
+        }
+        [Test]
+        [Category("Unit")]
+        public void ShowPayment_CorrectData()
+        {
+            FakeDataContext fake = new FakeDataContext();
+            IRepository<vPlatnosciEcard> _rep = new Repository<vPlatnosciEcard>(fake);
+
+            vPlatnosciEcard platnosc = new vPlatnosciEcard();
+            platnosc.ID_faktury = 74828;
+            platnosc.nip = "854956281";
+            platnosc.Faktura_Numer = "27/ASZ/2009";
+            platnosc.Brutto = 200;
+            _rep.Insert(platnosc);
+
+            var builder = new TestControllerBuilder();
+            var controller = new PlatnoscController(fake);
+            controller.setUserIdentity("854956281");
+            builder.InitializeController(controller);
+
+            var result = controller.Show("74828", "pl") as ViewResult;
+            var view = (InvoiceDetailsViewData)result.ViewData.Model;
+
+            Assert.That(view.vPlatnosciEcard.Brutto, Is.EqualTo(200));
+            Assert.That(view.vPlatnosciEcard.Faktura_Numer, Is.EqualTo("27/ASZ/2009"));
+
+        }
+        [Test]
+        [Category("Unit")]
+        public void PaymentIsNotValid()
+        {
+            FakeDataContext fake = new FakeDataContext();
+            IRepository<vPlatnosciEcard> _rep = new Repository<vPlatnosciEcard>(fake);
+
+            vPlatnosciEcard platnosc = new vPlatnosciEcard();
+            platnosc.ID_faktury = 74828;
+            platnosc.nip = "854956281";
+            platnosc.Faktura_Numer = "27/ASZ/2009";
+            platnosc.Brutto = 200;
+            platnosc.SystemKsiegowyId = 2;
+            _rep.Insert(platnosc);
+
+            var builder = new TestControllerBuilder();
+            var controller = new PlatnoscController(fake);
+            controller.setUserIdentity("854956281");
+            builder.InitializeController(controller);
+
+            Payer payer = new Payer();
+            payer.Id_faktury = 74828;
+            payer.LastName = "test";  //Nie wprowadzono imienia
+
+            controller.Show(payer, "pl");
+            Assert.That(controller.ModelState.IsValid, Is.False);
+        }
+        [Test]
+        [Category("Unit")]
+        public void PaymentIsValid()
+        {
+            FakeDataContext fake = new FakeDataContext();
+            IRepository<vPlatnosciEcard> _rep = new Repository<vPlatnosciEcard>(fake);
+
+            vPlatnosciEcard platnosc = new vPlatnosciEcard();
+            platnosc.ID_faktury = 74828;
+            platnosc.nip = "854956281";
+            platnosc.Faktura_Numer = "27/ASZ/2009";
+            platnosc.Brutto = 200;
+            platnosc.SystemKsiegowyId = 2;
+            _rep.Insert(platnosc);
+
+            var builder = new TestControllerBuilder();
+            var controller = new PlatnoscController(fake);
+            controller.setUserIdentity("854956281");
+            builder.InitializeController(controller);
+
+            Payer payer = new Payer();
+            payer.Id_faktury = 74828;
+            payer.LastName = "test";
+            payer.FirstName = "test";
+
+            controller.Show(payer, "pl");
+            Assert.That(controller.ModelState.IsValid, Is.True); 
+        }
+        [Test]
+        [Category("Unit")]
+        public void ShowPayment_BadId()
+        {
+            FakeDataContext fake = new FakeDataContext();
+            IRepository<vPlatnosciEcard> _rep = new Repository<vPlatnosciEcard>(fake);
+
+            vPlatnosciEcard platnosc = new vPlatnosciEcard();
+            platnosc.ID_faktury = 74828;
+            platnosc.nip = "854956281";
+            platnosc.Faktura_Numer = "27/ASZ/2009";
+            _rep.Insert(platnosc);
+
+            var builder = new TestControllerBuilder();
+            var controller = new PlatnoscController(fake);
+            controller.setUserIdentity("1");
+            controller.setWeryfikacja("Nie ma takiej platnosci.");
+            builder.InitializeController(controller);
+
+            var result = controller.Show("1", "pl") as ViewResult;
+            var error = (ErrorViewData)result.ViewData.Model;
+
+            Assert.That(error.error, Is.EqualTo("Nie ma takiej platnosci."));
+
+        }
+        [Test]
+        [Category("UI")]
+        public void checkLoginCorrect()
+        {
+            IE ie = new IE("http://localhost:3646/pl/Account/LogOn");
+            ie.TextField(Find.ByName("numer_faktury")).TypeText("24/HOL/2009");
+            ie.TextField(Find.ByName("nip")).TypeText("501379568");
+            ie.Button(Find.ById("but")).Click();
+
+            Assert.IsTrue(ie.ContainsText("została uregulowana"));
+        }
+        [Test]
+        [Category("UI")]
+        public void checkErrorLogin()
+        {
+            IE ie = new IE("http://localhost:3646/pl/Account/LogOn");
+            ie.TextField(Find.ByName("numer_faktury")).TypeText("");
+            ie.TextField(Find.ByName("nip")).TypeText("");
+            ie.Button(Find.ById("but")).Click();
+
+            Assert.IsTrue(ie.ContainsText("Logowanie nie powiodło się"));
+        }
+      
     }
 }
