Index: /trunk/eCard/eCardMVC/Platnosci.Tests/Platnosci.Tests.csproj
===================================================================
--- /trunk/eCard/eCardMVC/Platnosci.Tests/Platnosci.Tests.csproj (revision 960)
+++ /trunk/eCard/eCardMVC/Platnosci.Tests/Platnosci.Tests.csproj (revision 963)
@@ -96,4 +96,5 @@
     <Compile Include="Web\UI\ValidationTests.cs" />
     <Compile Include="Web\UI\MerchantTests.cs" />
+    <Compile Include="Web\ValidationMerchantClassTests.cs" />
   </ItemGroup>
   <ItemGroup>
Index: /trunk/eCard/eCardMVC/Platnosci.Tests/Web/eCardDataTests.cs
===================================================================
--- /trunk/eCard/eCardMVC/Platnosci.Tests/Web/eCardDataTests.cs (revision 960)
+++ /trunk/eCard/eCardMVC/Platnosci.Tests/Web/eCardDataTests.cs (revision 963)
@@ -15,4 +15,5 @@
         public void SetHash_Returns_zlyHash_When_Passing_Invalid_Merchant()
         {
+            //Arrange
             var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
             var platnosc = _function.CreateNewPayment(123, true, DateTime.Now, 1);
@@ -26,5 +27,9 @@
                 Password = "ashSeth2",
             };
-            var result = ecarddata.SetHash(merchant);
+
+            //Act
+            var result = ecarddata.SetHash(merchant);
+
+            //Assert
             Assert.That(result, Is.EqualTo(Merchant.BAD_HASH));
         }
@@ -34,4 +39,5 @@
         public void SetHash_Returns_PaymentErrorInfo_When_Passing_Invalid_Payment()
         {
+            //Arrange
             var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
             var platnosc = _function.CreateNewPayment(123, true, DateTime.Now, 1);
@@ -51,5 +57,9 @@
                 Password = "ashSeth2",
             };
-            var result = ecarddata.SetHash(merchant);
+           
+            //Act
+            var result = ecarddata.SetHash(merchant);
+
+            //Assert
             Assert.That(result, Is.EqualTo(Merchant.HASH_ERROR_INFO));
         }
@@ -58,4 +68,5 @@
         public void SetHash_Returns_Correct_Hash_When_Passing_Valid_Data()
         {
+            //Arrange
             var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
             var platnosc = _function.CreateNewPayment(123, true, DateTime.Now, 1);
@@ -73,6 +84,10 @@
                 Password = "ashSeth2",
             };
-            var result = ecarddata.SetHash(merchant);
-            Assert.That(result.Length, Is.EqualTo(48) );
+
+            //Act
+            var result = ecarddata.SetHash(merchant);
+
+            //Assert
+            Assert.That(result.Length, Is.GreaterThan(30));
         }
 
@@ -81,4 +96,5 @@
         public void SetHash_Returns_BAD_HASH_When_Invoice_Amount_Is_Zero()
         {
+            //Arrange
             var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
             var platnosc = _function.CreateNewPayment(123, true, DateTime.Now, 1);
@@ -96,5 +112,9 @@
                 Password = "ashSeth2",
             };
-            var result = ecarddata.SetHash(merchant);
+
+            //Act
+            var result = ecarddata.SetHash(merchant);
+
+            //Assert
             Assert.That(result, Is.EqualTo(Merchant.BAD_HASH));
         }
@@ -104,4 +124,5 @@
         public void SetHash_Returns_BAD_HASH_When_Password_Is_Wrong()
         {
+            //Arrange
             var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
             var platnosc = _function.CreateNewPayment(123, true, DateTime.Now, 1);
@@ -119,7 +140,174 @@
                 Password = "test",
             };
-            var result = ecarddata.SetHash(merchant);
+
+            //Act
+            var result = ecarddata.SetHash(merchant);
+
+            //Assert
             Assert.That(result, Is.EqualTo(Merchant.BAD_HASH));
         }
+
+        [Test]
+        [Category("Unit")]
+        public void SetHash_Returns_Correct_Hash_When_Payment_Amount_Is_Less_Then_100()
+        {
+            //Arrange
+            var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
+            var platnosc = _function.CreateNewPayment(123, true, DateTime.Now, 1);
+            platnosc.AMOUNT = 11;
+            platnosc.CURRENCY = FunkcjePlatnosci.PLN;
+
+            repPayment.Insert(platnosc);
+
+            var ecarddata = new eCardData(repPayment);
+
+            var merchant = new Merchant()
+            {
+                Payment = platnosc,
+                Id = "171485000",
+                Password = "ashSeth2",
+            };
+            
+            //Act
+            var result = ecarddata.SetHash(merchant);
+
+            //Assert
+            System.Diagnostics.Debug.WriteLine(result.Length);
+            Assert.That(result.Length, Is.GreaterThan(30));
+        }
+
+        [Test]
+        [Category("Unit")]
+        public void Create_Merchant_Data_Returns_Invoice_Correct_Amount_When_Merchant_Is_Valid()
+        {
+            //Arrange
+            var idFaktury = 12345;
+            var amountPL = 5000;
+            var amountEUR = 1300;
+
+            var repVPayment = new Repository<vPlatnosciEcard>(new FakeDataContext());
+            var invoice = _function.CreateForeignInvoice(idFaktury, "nip1", "abc/2009", amountPL, 0, amountEUR, "EUR");
+            repVPayment.Insert(invoice);
+
+            var payer = _function.CreatePayer(idFaktury, "test", "test");
+            var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
+            var eCardData = new eCardData(repPayment);
+
+            //Act
+            var result = eCardData.CreateMerchantData(invoice, payer, "pl", "ahaah");
+            var payment = repPayment.FindOne(i => i.IDFaktury == idFaktury);
+
+            //Assert
+            System.Diagnostics.Debug.WriteLine("Faktura jest w EUR.");
+            System.Diagnostics.Debug.WriteLine("PLN:" + amountPL + "," + " EUR:" + amountEUR);
+            Assert.That(payment.AMOUNT, Is.EqualTo(amountEUR * 100));
+        }
+
+        [Test]
+        [Category("Unit")]
+        public void Create_Merchant_Data_Returns_BAD_HASH_When_Invoice_Amount_Is_Zero()
+        {
+            //Arrange
+            var ecarddata = new eCardData(new Repository<PlatnosciEcard>(new FakeDataContext()));
+            var invoice = _function.CreateInvoice(123, "nip", "abc/2009", 0, 2);
+
+            var payer = _function.CreatePayer(123, "test", "test");
+
+            //Act
+            var result = ecarddata.CreateMerchantData(invoice, payer, "PL", "abcd");
+
+            //Assert
+            System.Diagnostics.Debug.WriteLine("Error: " + result.Error + " is not valid.");
+            Assert.That(result.Error, Is.EqualTo("hash"));  //dla wartosci amount=0 eCard zwroci hash o wartości "zlyHash"
+        }
+
+        [Test]
+        [Category("Unit")]
+        public void Create_Merchant_Data_Returns_Error_When_Orderdescription_Is_Not_Valid()
+        {
+            //Arrange
+            var ecarddata = new eCardData(new Repository<PlatnosciEcard>(new FakeDataContext()));
+            var invoice = _function.CreateInvoice(123, "nip", "", 200, 2);
+
+            var payer = _function.CreatePayer(123, "test", "test");
+
+            //Act
+            var result = ecarddata.CreateMerchantData(invoice, payer, "PL", "abcd");
+
+            //Assert
+            System.Diagnostics.Debug.WriteLine("Error: " + result.Error + " is not valid.");
+            Assert.That(result.Error, Is.EqualTo("orderdescription"));
+        }
+
+        [Test]
+        [Category("Unit")]
+        public void Create_Merchant_Data_Returns_Error_When_Name_Is_Not_Valid()
+        {
+            //Arrange
+            var ecarddata = new eCardData(new Repository<PlatnosciEcard>(new FakeDataContext()));
+            var invoice = _function.CreateInvoice(123, "nip", "abc/2009", 200, 2);
+
+            var payer = _function.CreatePayer(123, "", "test");
+
+            //Act
+            var result = ecarddata.CreateMerchantData(invoice, payer, "PL", "abcd");
+            
+            //Assert
+            System.Diagnostics.Debug.WriteLine("Error: " + result.Error + " is not valid.");
+            Assert.That(result.Error, Is.EqualTo("name"));
+        }
+
+        [Test]
+        [Category("Unit")]
+        public void Create_Merchant_Data_Returns_Error_When_Surname_Is_Not_Valid()
+        {
+            //Arrange
+            var ecarddata = new eCardData(new Repository<PlatnosciEcard>(new FakeDataContext()));
+            var invoice = _function.CreateInvoice(123, "nip", "abc/2009", 200, 2);
+
+            var payer = _function.CreatePayer(123, "test", "");
+
+            //Act
+            var result = ecarddata.CreateMerchantData(invoice, payer, "PL", "abcd");
+            
+            //Assert
+            System.Diagnostics.Debug.WriteLine("Error: " + result.Error + " is not valid.");
+            Assert.That(result.Error, Is.EqualTo("surname"));
+        }
+
+        [Test]
+        [Category("Unit")]
+        public void Create_Merchant_Data_Returns_Valid_Merchnt_When_All_Data_Are_Correct()
+        {
+            //Arrange
+            var ecarddata = new eCardData(new Repository<PlatnosciEcard>(new FakeDataContext()));
+            var invoice = _function.CreateInvoice(123, "nip", "abc/2009", 200, 2);
+
+            var payer = _function.CreatePayer(123, "test", "test");
+
+            //Act
+            var result2 = ecarddata.CreateMerchantData(invoice, payer, "PL", "abcd");
+
+            //Assert
+            System.Diagnostics.Debug.WriteLine("Wszystkie dane sa poprawne!!");
+            Assert.That(result2.Error, Is.EqualTo(null));
+        }
+        
+        [Test]
+        [Category("Unit")]
+        public void Get_Url_Returns_Correct_eCard_Url()
+        {
+            //Arrange
+            var pl = new PlatnosciEcard() {ORDERDESCRIPTION = "abc/2009"};
+            var m = new Merchant(){Payment = pl, Id = "ABCD" };
+            var eCardData = new eCardData(new Repository<PlatnosciEcard>(new FakeDataContext()));
+            
+            //Act
+            var result = eCardData.GetUrl(m);
+
+            //Assert
+            System.Diagnostics.Debug.WriteLine("eCard url:" + result + " " + m);
+            Assert.That(result, Is.Not.EqualTo(""));
+        }         
     }
 }
Index: /trunk/eCard/eCardMVC/Platnosci.Tests/Web/PlatnosciControllerTests.cs
===================================================================
--- /trunk/eCard/eCardMVC/Platnosci.Tests/Web/PlatnosciControllerTests.cs (revision 952)
+++ /trunk/eCard/eCardMVC/Platnosci.Tests/Web/PlatnosciControllerTests.cs (revision 963)
@@ -26,36 +26,44 @@
         [Test]
         [Category("Unit")]
-        public void Status_Saves_Correct_Transaction()
-        {          
-           var repository = new Repository<PlatnosciEcard>(new FakeDataContext());
-           var platnosci = _function.CreateNewPayment(_orderNumber, false, DateTime.Now, 12345); 
-           repository.Insert(platnosci);
-           repository.SubmitChanges();
+        public void Status_Action_Saves_Correct_Transaction()
+        {  
+            //Arrange
+            var repository = new Repository<PlatnosciEcard>(new FakeDataContext());
+            var platnosci = _function.CreateNewPayment(_orderNumber, false, DateTime.Now, 12345); 
+            repository.Insert(platnosci);
+            repository.SubmitChanges();
                 
-           IRepository<PotwierdzeniaEcard> rep = new Repository<PotwierdzeniaEcard>(new FakeDataContext());
+            IRepository<PotwierdzeniaEcard> rep = new Repository<PotwierdzeniaEcard>(new FakeDataContext());
            
-           var builder = new TestControllerBuilder();
-           var controller = new PlatnoscController(null, repository, rep, _translateManager);
-           builder.InitializeController(controller);
-           builder.Form.Add("MERCHANTNUMBER", MERCHANT_NUMBER);
-           builder.Form.Add("AUTHTIME", DateTime.Now.ToString());
-           builder.Form.Add("DATATRANSMISJI", DateTime.Now.ToString());
-           builder.Form.Add("ORDERNUMBER", _orderNumber.ToString());
-           builder.Form.Add("CURRENTSTATE", CODE_OK);           
+            var builder = new TestControllerBuilder();
+            var controller = new PlatnoscController(null, repository, rep, _translateManager);
+            builder.InitializeController(controller);
+            builder.Form.Add("MERCHANTNUMBER", MERCHANT_NUMBER);
+            builder.Form.Add("AUTHTIME", DateTime.Now.ToString());
+            builder.Form.Add("DATATRANSMISJI", DateTime.Now.ToString());
+            builder.Form.Add("ORDERNUMBER", _orderNumber.ToString());
+            builder.Form.Add("CURRENTSTATE", CODE_OK);           
            
-           controller.Status();
-           
-           System.Diagnostics.Debug.WriteLine("rep:" + rep.Count() + " repPl: " + repository.Count() );
-
-           var potwierdzeniaEcard = rep.Find(o => o.ORDERNUMBER == _orderNumber).SingleOrDefault();
-           Assert.That(potwierdzeniaEcard.MERCHANTNUMBER, Is.EqualTo(MERCHANT_NUMBER));
-           var paymentAfterUpdate = repository.FindOne(_orderNumber);
-           System.Diagnostics.Debug.WriteLine("Status musi byc 'true'. Jest " + paymentAfterUpdate.Status);
-           Assert.That(paymentAfterUpdate.Status, Is.EqualTo(true));            
-        }
-        [Test]
-        [Category("Unit")]
-        public void Status_Saves_Correct_Transaction_IncorrectUpdate()
-        {
+            //Act
+            controller.Status();           
+            System.Diagnostics.Debug.WriteLine("rep:" + rep.Count() + " repPl: " + repository.Count() );
+            var potwierdzeniaEcard = rep.Find(o => o.ORDERNUMBER == _orderNumber).SingleOrDefault();
+
+            //Assert
+            Assert.That(potwierdzeniaEcard.MERCHANTNUMBER, Is.EqualTo(MERCHANT_NUMBER));
+
+            //Act
+            var paymentAfterUpdate = repository.FindOne(_orderNumber);
+            System.Diagnostics.Debug.WriteLine("Status musi byc 'true'. Jest " + paymentAfterUpdate.Status);
+
+            //Assert
+            Assert.That(paymentAfterUpdate.Status, Is.EqualTo(true));            
+        }
+
+        [Test]
+        [Category("Unit")]
+        public void Status_Action_Payment_Is_Not_Update_When_Currentstate_Is_CODE_BAD()
+        {
+            //Arrange
             var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
             var platnosci = _function.CreateNewPayment(_orderNumber, false, DateTime.Now, 12345);
@@ -73,11 +81,16 @@
             builder.Form.Add("CURRENTSTATE", CODE_BAD);
 
+            //Act
             controller.Status();           
+            var potwierdzeniaEcard = repConfirm.Find(o => o.ORDERNUMBER == _orderNumber).SingleOrDefault();
            
-            var potwierdzeniaEcard = repConfirm.Find(o => o.ORDERNUMBER == _orderNumber).SingleOrDefault();
+            //Assert
             Assert.That(potwierdzeniaEcard.MERCHANTNUMBER, Is.EqualTo(MERCHANT_NUMBER));
             
+            //Act
             var paymentAfterUpdate = repPayment.FindOne(_orderNumber);
             System.Diagnostics.Debug.WriteLine("Status musi byc 'false'. Jest " + paymentAfterUpdate.Status);
+
+            //Assert
             Assert.That(paymentAfterUpdate.Status, Is.EqualTo(false));
         }
@@ -85,37 +98,47 @@
         [Test]
         [Category("Unit")]
-        public void StatusIsUpdated()
-        {
+        public void Update_Status_Payment_Is_Update_When_Currentstate_Is_CODE_OK()
+        {
+            //Arrange
             IRepository<PlatnosciEcard> repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
             PlatnosciEcard platnosc = _function.CreateNewPayment(_orderNumber, false, _data, 1);
             repPayment.Insert(platnosc);
 
+            //Act
             var controller = new PlatnoscController(null, repPayment, null, _translateManager);
             controller.UpdateStatus(_orderNumber, CODE_OK);
 
             var paymentAfterUpdate = repPayment.FindOne(_orderNumber);
+
+            //Assert
             System.Diagnostics.Debug.WriteLine("Status musi byc 'true'. Jest " + paymentAfterUpdate.Status);
             Assert.That(paymentAfterUpdate.Status, Is.EqualTo(true));
         }
-        [Test]
-        [Category("Unit")]
-        public void StatusIsNotUpdated()
-        {
+
+        [Test]
+        [Category("Unit")]
+        public void Update_Status_Payment_Is_Not_Update_When_Currentstate_Is_CODE_BAD()
+        {
+            //Arrange
             IRepository<PlatnosciEcard> repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
-
             PlatnosciEcard platnosc = _function.CreateNewPayment(_orderNumber, false, _data, 1);
             repPayment.Insert(platnosc);
 
             var controller = new PlatnoscController(null, repPayment, null, _translateManager);
+            
+            //Act
             controller.UpdateStatus(_orderNumber, CODE_BAD);
-
             var paymentAfterUpdate = repPayment.FindOne(i => i.ORDERNUMBER == _orderNumber);
+
+            //Assert
             System.Diagnostics.Debug.WriteLine("Status musi byc 'false'. Jest " + paymentAfterUpdate.Status);
             Assert.That(paymentAfterUpdate.Status, Is.EqualTo(false));
-        }        
-        [Test]
-        [Category("Unit")]
-        public void ActionShowPayment_IncorrectUserIdentity_ReturnErrorView()
-        {
+        } 
+       
+        [Test]
+        [Category("Unit")]
+        public void Show_Action_Returns_Error_View_When_Passing_Incorrect_User_Identity()
+        {
+            //Arrange
             IRepository<vPlatnosciEcard> repVPayment = new Repository<vPlatnosciEcard>(new FakeDataContext());
             var platnosc = _function.CreateInvoice(123, "nip1", "", 0, 0);
@@ -125,14 +148,18 @@
             controller.ControllerContext = _function.CreateControllerContext("nip2");
            
+            //Act
             var result = controller.Show("123","pl") as ViewResult;
             var error = (ErrorViewData)result.ViewData.Model;
 
+            //Assert
             Assert.That(error.Error, Is.EqualTo("weryfikacja"));
             Assert.That(result.ViewName, Is.EqualTo("Error1"));
         }
-        [Test]
-        [Category("Unit")]
-        public void ActionShowPayment_PaymentNotFound_ReturnErrorView()
-        {
+
+        [Test]
+        [Category("Unit")]
+        public void Show_Action_Returns_Error_View_When_Payment_Is_Not_Found()
+        {
+            //Arrange
             IRepository<vPlatnosciEcard> repVPayment = new Repository<vPlatnosciEcard>(new FakeDataContext());
             vPlatnosciEcard platnosc = _function.CreateInvoice(123, "nip2", "", 0, 0);
@@ -142,14 +169,19 @@
             controller.ControllerContext = _function.CreateControllerContext("nip2");
 
+            //Act
             var result = controller.Show("1234", "pl") as ViewResult;
             var error = (ErrorViewData)result.ViewData.Model;
 
+
+            //Assert
             Assert.That(error.Error, Is.EqualTo("brakdanych"));
             Assert.That(result.ViewName, Is.EqualTo("Error1"));
         }
-        [Test]
-        [Category("Unit")]
-        public void ActionShowPayment_PaymentIsPaid()
-        {
+
+        [Test]
+        [Category("Unit")]
+        public void Show_Action_Returns_Paid_View_When_Payment_Is_Paid()
+        {
+            //Arrange
             //Tworzymy takie dane aby platnosc o danym id byla juz zaplacona 
             var repVPayment = new Repository<vPlatnosciEcard>(new FakeDataContext());
@@ -165,16 +197,19 @@
             var controller = new PlatnoscController(repVPayment, null, repConfirm, _translateManager);
             controller.ControllerContext = _function.CreateControllerContext("nip1");
-            //controller.setZaplacono("Platnosc zostala uregulowana");
-
+
+            //Act
             var result = controller.Show("123", "pl") as ViewResult;
             var view = (InvoiceDetailsViewData)result.ViewData.Model;
 
+            //Assert
             Assert.That(result.ViewName, Is.EqualTo("Paid"));
             Assert.That(view.info, Is.EqualTo("zaplacono"));
         }
-        [Test]
-        [Category("Unit")]
-        public void ActionShowPayment_CorrectData_ReturnViewForPayment()
-        {
+
+        [Test]
+        [Category("Unit")]
+        public void Show_Action_Returns_View_For_Payment_When_Payment_is_Outstanding()
+        {
+            //Arrange
             IRepository<vPlatnosciEcard> repVPayment = new Repository<vPlatnosciEcard>(new FakeDataContext());
             vPlatnosciEcard platnosc = _function.CreateInvoice(123, "nip1", "numer", 200, 0);
@@ -189,16 +224,20 @@
             controller.ControllerContext = _function.CreateControllerContext("nip1");
 
-            var result = controller.Show("123", "pl") as ViewResult;
-                      
+            //Act
+            var result = controller.Show("123", "pl") as ViewResult;                      
             var view = (InvoiceDetailsViewData)result.ViewData.Model;
             System.Diagnostics.Debug.WriteLine("Brutto 200: " + view.vPlatnosciEcard.Brutto);
             System.Diagnostics.Debug.WriteLine("Nr Faktury musi byc 'numer'. Jest " + view.vPlatnosciEcard.Faktura_Numer);
+            
+            //Assert
             Assert.That(view.vPlatnosciEcard.Brutto, Is.EqualTo(200));
             Assert.That(view.vPlatnosciEcard.Faktura_Numer, Is.EqualTo("numer"));            
         }
-        [Test]
-        [Category("Unit")]
-        public void AfterPay_PaymentIsNotValid()
-        {
+
+        [Test]
+        [Category("Unit")]
+        public void AfterPay_Show_Action_Returns_Error_When_Name_Is_Null()
+        {
+            //Arrange
             IRepository<vPlatnosciEcard> repVPayment = new Repository<vPlatnosciEcard>(new FakeDataContext());
             vPlatnosciEcard platnosc = _function.CreateInvoice(123, "nip1", "numer", 200, 0);
@@ -209,21 +248,93 @@
             
             Payer payer = _function.CreatePayer(123, "", "test");  //Brak imienia
-            controller.Show(payer, "pl");
+
+            //Act
+            controller.Show(payer, "pl");
+
+            //Assert
             Assert.That(controller.ModelState.IsValid, Is.False);
         }
-        [Test]
-        [Category("Unit")]
-        public void AfterPay_PaymentIsValid()
-        {
-            IRepository<vPlatnosciEcard> repVPayment = new Repository<vPlatnosciEcard>(new FakeDataContext());
-            vPlatnosciEcard platnosc = _function.CreateInvoice(123, "nip1", "numer", 200, 0);
-            repVPayment.Insert(platnosc);
-
-            var controller = new PlatnoscController(repVPayment, null, null, _translateManager);
-            controller.ControllerContext = _function.CreateControllerContext("nip1");
-
-            var payer = _function.CreatePayer(123, "test", "test");  
-            controller.Show(payer, "pl");
-
+
+        [Test]
+        [Category("Unit")]
+        public void AfterPay_Show_Action_Returns_Error_When_Surname_Is_Null()
+        {
+            //Arrange
+            IRepository<vPlatnosciEcard> repVPayment = new Repository<vPlatnosciEcard>(new FakeDataContext());
+            vPlatnosciEcard platnosc = _function.CreateInvoice(123, "nip1", "numer", 200, 0);
+            repVPayment.Insert(platnosc);
+
+            var controller = new PlatnoscController(repVPayment, null, null, _translateManager);
+            controller.ControllerContext = _function.CreateControllerContext("nip1");
+
+            Payer payer = _function.CreatePayer(123, "test", "");  //Brak nazwiska
+
+            //Act
+            controller.Show(payer, "pl");
+
+            //Assert
+            Assert.That(controller.ModelState.IsValid, Is.False);
+        }
+
+        [Test]
+        [Category("Unit")]
+        public void AfterPay_Show_Action_Returns_Error_When_Name_Is_Too_Long()
+        {
+            //Arrange
+            IRepository<vPlatnosciEcard> repVPayment = new Repository<vPlatnosciEcard>(new FakeDataContext());
+            vPlatnosciEcard platnosc = _function.CreateInvoice(123, "nip1", "numer", 200, 0);
+            repVPayment.Insert(platnosc);
+
+            var controller = new PlatnoscController(repVPayment, null, null, _translateManager);
+            controller.ControllerContext = _function.CreateControllerContext("nip1");
+            string name = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
+            Payer payer = _function.CreatePayer(123, name, "test");
+
+            //Act
+            controller.Show(payer, "pl");
+
+            //Assert
+            Assert.That(controller.ModelState.IsValid, Is.False);
+        }
+
+        [Test]
+        [Category("Unit")]
+        public void AfterPay_Show_Action_Returns_Error_When_Surname_Is_Too_Long()
+        {
+            //Arrange
+            IRepository<vPlatnosciEcard> repVPayment = new Repository<vPlatnosciEcard>(new FakeDataContext());
+            vPlatnosciEcard platnosc = _function.CreateInvoice(123, "nip1", "numer", 200, 0);
+            repVPayment.Insert(platnosc);
+
+            var controller = new PlatnoscController(repVPayment, null, null, _translateManager);
+            controller.ControllerContext = _function.CreateControllerContext("nip1");
+            string surname = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
+            Payer payer = _function.CreatePayer(123, "test", surname);
+
+            //Act
+            controller.Show(payer, "pl");
+
+            //Assert
+            Assert.That(controller.ModelState.IsValid, Is.False);
+        }
+
+        [Test]
+        [Category("Unit")]
+        public void AfterPay_Show_Action_Returns_Error_When_Name_And_Surname_Is_Not_Null()
+        {
+            //Arrange
+            IRepository<vPlatnosciEcard> repVPayment = new Repository<vPlatnosciEcard>(new FakeDataContext());
+            vPlatnosciEcard platnosc = _function.CreateInvoice(123, "nip1", "numer", 200, 0);
+            repVPayment.Insert(platnosc);
+
+            var controller = new PlatnoscController(repVPayment, null, null, _translateManager);
+            controller.ControllerContext = _function.CreateControllerContext("nip1");
+
+            var payer = _function.CreatePayer(123, "test", "test");
+  
+            //Act
+            controller.Show(payer, "pl");
+
+            //Assert
             System.Diagnostics.Debug.WriteLine("Model powinien byc 'true'. Jest " + controller.ModelState.IsValid);
             Assert.That(controller.ModelState.IsValid, Is.True);
Index: /trunk/eCard/eCardMVC/Platnosci.Tests/Web/FunkcjePlatnosciTests.cs
===================================================================
--- /trunk/eCard/eCardMVC/Platnosci.Tests/Web/FunkcjePlatnosciTests.cs (revision 960)
+++ /trunk/eCard/eCardMVC/Platnosci.Tests/Web/FunkcjePlatnosciTests.cs (revision 963)
@@ -21,6 +21,11 @@
             )
         {
+            //Arrange
             var funkcjePlantosi = new FunkcjePlatnosci();
+
+            //Act
             var result = funkcjePlantosi.GetCurrency(input);
+
+            //Assert
             Assert.That(result, Is.EqualTo(output));
         }
@@ -30,4 +35,5 @@
         public void CreateAndAddNewPayment_Creates_PlatnosciEcard()
         {
+            //Arrange
             var idFaktury = 123;
             var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
@@ -36,7 +42,10 @@
             var payer = _function.CreatePayer(idFaktury, "test", "test");
             var waluta = new Waluta { Amount = 200, Currency = FunkcjePlatnosci.PLN };
+
+            //Act
             funkcjePlatnosci.CreateAndAddNewPyment(invoice, waluta, payer, "sessionId");
+            var payment = repPayment.Find(p => p.IDFaktury == 123).SingleOrDefault();
 
-            var payment = repPayment.Find(p => p.IDFaktury == 123).SingleOrDefault();
+            //Act
             Assert.That(payment.AMOUNT, Is.EqualTo(200));
         }
Index: /trunk/eCard/eCardMVC/Platnosci.Tests/Web/ValidationMerchantClassTests.cs
===================================================================
--- /trunk/eCard/eCardMVC/Platnosci.Tests/Web/ValidationMerchantClassTests.cs (revision 963)
+++ /trunk/eCard/eCardMVC/Platnosci.Tests/Web/ValidationMerchantClassTests.cs (revision 963)
@@ -0,0 +1,91 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using NUnit.Framework;
+using Platnosci.Core.Interface;
+using Platnosci.Core.Linq;
+
+
+namespace Platnosci.Tests.Web
+{
+    public class ValidationMerchantClassTests
+    {
+        [Test]
+        [Category("Unit")]
+        public void Currency_Is_Not_Valid()
+        {
+            //Arrange
+            var p = new PlatnosciEcard(){
+                AMOUNT = 100,
+                AUTODEPOSIT = true,
+                ORDERDESCRIPTION = "abc/2009"
+            };
+            var m = new Merchant() { Payment = p };
+            
+            //Act
+            m.IsValid();
+            var result = m.Error;
+
+            //Assert
+            System.Diagnostics.Debug.WriteLine("Error: " + result + " is not valid.");
+            Assert.That(result, Is.EqualTo("currency"));
+        }
+
+        [Test]
+        [Category("Unit")]
+        public void Language_Is_Not_Valid()
+        {
+            //Arrange
+            var p = new PlatnosciEcard(){
+                AMOUNT = 100,
+                AUTODEPOSIT = true,
+                ORDERDESCRIPTION = "abc/2009",
+                CURRENCY = "test",
+                NAME = "test",
+                SURNAME = "test"
+            };
+            var m = new Merchant(){ Payment = p };
+
+            //Act
+            m.IsValid();
+            var result = m.Error;
+
+            //Assert
+            System.Diagnostics.Debug.WriteLine("Error: " + result + " is not valid.");
+            Assert.That(result, Is.EqualTo("language"));
+        }
+
+        [Test]
+        [Category("Unit")]
+        public void Merchant_Data_Is_Valid()
+        {
+            //Arrange
+            var p = new PlatnosciEcard(){
+                AMOUNT = 100,
+                AUTODEPOSIT = true,
+                ORDERDESCRIPTION = "abc/2009",
+                CURRENCY = "test",
+                NAME = "test",
+                SURNAME = "test",
+                LANGUAGE = "test",
+                ORDERNUMBER = 100
+            };
+            var m = new Merchant(){
+                Payment = p,
+                Id = "aaaa",
+                Password = "aa",
+                Hash = "22",
+                LinkFail = "a",
+                LinkOk = "a",
+            };
+            
+            //Act
+            m.IsValid();
+            var result = m.Error;
+
+            //Assert
+            Assert.That(result, Is.EqualTo(null));
+        }
+    }
+}
Index: /trunk/eCard/eCardMVC/Platnosci.Tests/Web/MerchantControllerTests.cs
===================================================================
--- /trunk/eCard/eCardMVC/Platnosci.Tests/Web/MerchantControllerTests.cs (revision 960)
+++ /trunk/eCard/eCardMVC/Platnosci.Tests/Web/MerchantControllerTests.cs (revision 963)
@@ -40,6 +40,7 @@
         [Test]
         [Category("Unit")]
-        public void PaymentNotFound_ReturnErrorView()
+        public void Merchant_Action_Returns_Error_When_Payment_Is_Not_Found()
         {
+            //Arrange
             IRepository<vPlatnosciEcard> repVPayment = new Repository<vPlatnosciEcard>(new FakeDataContext());
             vPlatnosciEcard platnosc = _function.CreateInvoice(12, "nip1", "", 0, 0);
@@ -51,185 +52,13 @@
             controller.ControllerContext = _function.CreateControllerContext("nip2");
 
+            //Act
             var result = controller.Merchant(payer, "pl") as ViewResult;
             var error = (ErrorViewData)result.ViewData.Model;
 
+            //Assert
             Assert.That(error.Error, Is.EqualTo("brakdanych"));
             Assert.That(result.ViewName, Is.EqualTo("Error1"));
         }
-        [Test]
-        [Category("Unit")]
-        public void CheckCorrectAmount()
-        {
-            var idFaktury = 12345;
-            var amountPL = 5000;
-            var amountEUR = 1300;
-
-            var repVPayment = new Repository<vPlatnosciEcard>(new FakeDataContext());
-            var invoice = _function.CreateForeignInvoice(idFaktury, "nip1", "abc/2009", amountPL, 0, amountEUR, "EUR");
-            repVPayment.Insert(invoice);
-
-            var payer = _function.CreatePayer(idFaktury, "test", "test");
-            var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
-            var eCardData = new eCardData(repPayment);
-            var result = eCardData.CreateMerchantData(invoice, payer, "pl", "ahaah");
-            var payment = repPayment.FindOne(i => i.IDFaktury == idFaktury);
-
-            System.Diagnostics.Debug.WriteLine("Faktura jest w EUR.");
-            System.Diagnostics.Debug.WriteLine("PLN:" + amountPL + "," + " EUR:" + amountEUR);
-            Assert.That(payment.AMOUNT, Is.EqualTo(amountEUR * 100));
-        }
-        [Test]
-        [Category("Unit")]
-        public void CheckeCardUrl()
-        {
-            var m = new Merchant();
-            var pl = new PlatnosciEcard();
-            pl.ORDERDESCRIPTION = "abc/2009";
-            m.Payment = pl;
-            m.Id = "ABCD";
-            
-            var eCardData = new eCardData(new Repository<PlatnosciEcard>(new FakeDataContext()));
-            var result = eCardData.GetUrl(m);
-            
-            System.Diagnostics.Debug.WriteLine("eCard url:" + result + " " + m);
-            Assert.That(result, Is.Not.EqualTo(""));
-        }
-        [Test]
-        [Category("Unit")]
-        public void AmountIsNotValid()
-        {
-            var ecarddata = new eCardData(new Repository<PlatnosciEcard>(new FakeDataContext()));
-            var invoice = _function.CreateInvoice(123, "nip", "abc/2009", 0, 2);
-            
-            var payer = _function.CreatePayer(123, "test", "test");
-            var result = ecarddata.CreateMerchantData(invoice, payer, "PL", "abcd");
-
-            System.Diagnostics.Debug.WriteLine("Error: " + result.Error + " is not valid.");
-            Assert.That(result.Error, Is.EqualTo("hash"));  //dla wartosci amount=0 eCard zwroci hash o wartości "zlyHash"
-        }
-        [Test]
-        [Category("Unit")]
-        public void OrderdescriptionIsNotValid()
-        {
-            var ecarddata = new eCardData(new Repository<PlatnosciEcard>(new FakeDataContext()));
-            var invoice = _function.CreateInvoice(123, "nip", "", 200, 2);
-
-            var payer = _function.CreatePayer(123, "test", "test");
-            var result = ecarddata.CreateMerchantData(invoice, payer, "PL", "abcd");
-
-            System.Diagnostics.Debug.WriteLine("Error: " + result.Error + " is not valid.");
-            Assert.That(result.Error, Is.EqualTo("orderdescription"));
-        }
-        [Test]
-        [Category("Unit")]
-        public void CurrencyIsNotValid()
-        {
-            var m = new Merchant();
-            var p = new PlatnosciEcard();
-            m.Payment = p;
-            m.Payment.AMOUNT = 100;
-            m.Payment.AUTODEPOSIT = true;
-            m.Payment.ORDERDESCRIPTION = "abc/2009";
-            m.IsValid();
-            var result = m.Error;
-
-            System.Diagnostics.Debug.WriteLine("Error: " + result + " is not valid.");
-            Assert.That(result, Is.EqualTo("currency"));
-        }
-        [Test]
-        [Category("Unit")]
-        public void NameIsNotValid()
-        {
-
-            var ecarddata = new eCardData(new Repository<PlatnosciEcard>(new FakeDataContext()));
-            var invoice = _function.CreateInvoice(123, "nip", "abc/2009", 200, 2);
-
-            var payer = _function.CreatePayer(123, "", "test");
-            var result = ecarddata.CreateMerchantData(invoice, payer, "PL", "abcd");
-
-            System.Diagnostics.Debug.WriteLine("Error: " + result.Error + " is not valid.");
-            Assert.That(result.Error, Is.EqualTo("name"));
-        }
-        [Test]
-        [Category("Unit")]
-        public void SurnameIsNotValid()
-        {
-            var ecarddata = new eCardData(new Repository<PlatnosciEcard>(new FakeDataContext()));
-            var invoice = _function.CreateInvoice(123, "nip", "abc/2009", 200, 2);
-
-            var payer = _function.CreatePayer(123, "test", "");
-            var result = ecarddata.CreateMerchantData(invoice, payer, "PL", "abcd");
-
-            System.Diagnostics.Debug.WriteLine("Error: " + result.Error + " is not valid.");
-            Assert.That(result.Error, Is.EqualTo("surname"));
-        }
-        [Test]
-        [Category("Unit")]
-        public void LanguageIsNotValid()
-        {
-            var m = new Merchant();
-            var p = new PlatnosciEcard();
-            m.Payment = p;
-            m.Payment.AMOUNT = 100;
-            m.Payment.AUTODEPOSIT = true;
-            m.Payment.ORDERDESCRIPTION = "abc/2009";
-            m.Payment.CURRENCY = "test";
-            m.Payment.NAME = "test";
-            m.Payment.SURNAME = "test";
-
-            m.IsValid();
-            var result = m.Error;
-
-            System.Diagnostics.Debug.WriteLine("Error: " + result + " is not valid.");
-            Assert.That(result, Is.EqualTo("language"));
-        }
-        
-        [Test]
-        [Category("Unit")]
-        public void MerchantDataIsValid()
-        {
-            var m = new Merchant();
-            var p = new PlatnosciEcard();
-            m.Payment = p;
-            m.Payment.AMOUNT = 100;
-            m.Payment.AUTODEPOSIT = true;
-            m.Payment.ORDERDESCRIPTION = "abc/2009";
-            m.Payment.CURRENCY = "test";
-            m.Payment.NAME = "test";
-            m.Payment.SURNAME = "test";
-            m.Payment.LANGUAGE = "test";
-            m.Payment.ORDERNUMBER = 100;
-            m.Id = "aaaa";
-            m.Password = "aa";
-            m.Hash = "22";
-            m.LinkFail = "a";
-            m.LinkOk = "a";
-
-            m.IsValid();
-            var result = m.Error;
-            Assert.That(result,Is.EqualTo(null));
-
-            var ecarddata = new eCardData(new Repository<PlatnosciEcard>(new FakeDataContext()));
-            var invoice = _function.CreateInvoice(123, "nip", "abc/2009", 200, 2);
-
-            var payer = _function.CreatePayer(123, "test", "test");
-            var result2 = ecarddata.CreateMerchantData(invoice, payer, "PL", "abcd");
-
-            System.Diagnostics.Debug.WriteLine("Wszystkie dane sa poprawne!!");
-            Assert.That(result2.Error, Is.EqualTo(null));
-        }
-        [Test]
-        [Category("Unit")]
-        public void IncorrectValueAmount()
-        {
-            var ecarddata = new eCardData(new Repository<PlatnosciEcard>(new FakeDataContext()));
-            var brutto = Convert.ToDecimal(0.11);
-            var invoice = _function.CreateInvoice(123, "nip", "abc/2009", brutto, 2);
-
-            var payer = _function.CreatePayer(123, "test", "test");
-            var result = ecarddata.CreateMerchantData(invoice, payer, "PL", "abcd");
-
-            Assert.That(result.Error, Is.EqualTo(null));
-        }        
+              
     }
 }
