Pokaż
Ignoruj:
Data:
2009-12-23 16:16:02 (16 years ago)
Autor:
marek
Opis:

re #215 - poprawki w testach + testy na status

Lokalizacja:
trunk/eCard/eCardMVC/adMoto.Payments.Test/Controllers
Pliki:
1 dodane
1 przeniesione

Legenda:

Bez zmian
Dodane
Usunięte
  • trunk/eCard/eCardMVC/adMoto.Payments.Test/Controllers/eCardControllerTests.cs

    r971 r982  
    1 using adMoto.Payments.Core; 
     1using System; 
     2using System.Collections.Specialized; 
     3using System.Linq; 
     4using adMoto.Payments.Core; 
    25using adMoto.Payments.Core.Data; 
    36using adMoto.Payments.Core.Interfaces; 
     7using adMoto.Payments.Test.Fakes; 
     8using adMoto.Payments.Web.Controllers; 
    49using NUnit.Framework; 
    510using MvcContrib.TestHelper; 
    611using System.Web.Mvc; 
    712 
    8 namespace adMoto.Payments.Test.Web 
     13namespace adMoto.Payments.Test.Controllers 
    914{ 
    1015    [TestFixture] 
    11     public class StatusTest 
     16// ReSharper disable InconsistentNaming 
     17    public class eCardControllerTests 
     18// ReSharper restore InconsistentNaming 
    1219    { 
    13         //[Test] 
    14         //[Category("Unit")] 
    15         //public void FormatException_Ordernumber_Test() 
    16         //{ 
    17         //    IRepository<PotwierdzeniaEcard> repConfirm = new Repository<PotwierdzeniaEcard>(new FakeDataContext()); 
    18         //    var builder = new TestControllerBuilder(); 
    19         //    var controller = new PlatnoscController(null, null, repConfirm, null); 
    20         //    builder.InitializeController(controller); 
    21         //    builder.Form.Add("MERCHANTNUMBER", "132423"); 
    22         //    builder.Form.Add("ORDERNUMBER", "32hvhsvhv"); 
     20        private IRepository<PotwierdzeniaEcard> _repConfirm; 
    2321 
    24         //    var result = controller.Status() as ContentResult;            
    25         //    System.Diagnostics.Debug.WriteLine("1. Zły formt ordernumber."); 
    26         //    System.Diagnostics.Debug.WriteLine("2. Count: " + repConfirm.Count()); 
    27         //    System.Diagnostics.Debug.WriteLine("3. Contetnt: " + result.Content); 
    28         //    Assert.That(repConfirm.Count().Equals(0)); 
    29         //    Assert.That(result.Content.Contains("FormatException")); 
    30         //} 
    31         //[Test] 
    32         //[Category("Unit")] 
    33         //public void FormatException_Paymenttype_Test() 
    34         //{ 
    35         //    IRepository<PotwierdzeniaEcard> repConfirm = new Repository<PotwierdzeniaEcard>(new FakeDataContext()); 
    36         //    var builder = new TestControllerBuilder(); 
    37         //    var controller = new PlatnoscController(null, null, repConfirm, null); 
    38         //    builder.InitializeController(controller); 
    39         //    builder.Form.Add("MERCHANTNUMBER", "132423"); 
    40         //    builder.Form.Add("PAYMENTTYPE", "32hvhsvhv"); 
     22        private eCardController CreateController() 
     23        { 
     24            _repConfirm = new Repository<PotwierdzeniaEcard>(new FakeDataContext()); 
    4125 
    42         //    var result = controller.Status() as ContentResult; 
    43         //    System.Diagnostics.Debug.WriteLine("Zły formt paymenttype. " + " Count: " + repConfirm.Count()); 
    44         //    Assert.That(repConfirm.Count().Equals(0)); 
    45         //    Assert.That(result.Content.Contains("FormatException")); 
    46         //} 
    47         //[Test] 
    48         //[Category("Unit")] 
    49         //public void FormatException_Eventtype_Test() 
    50         //{ 
    51         //    IRepository<PotwierdzeniaEcard> repConfirm = new Repository<PotwierdzeniaEcard>(new FakeDataContext()); 
    52         //    var builder = new TestControllerBuilder(); 
    53         //    var controller = new PlatnoscController(null, null, repConfirm, null); 
    54         //    builder.InitializeController(controller); 
    55         //    builder.Form.Add("MERCHANTNUMBER", "132423"); 
    56         //    builder.Form.Add("EVENTTYPE", "32hvhsvhv"); 
     26            var builder = new TestControllerBuilder(); 
     27            return builder.CreateController<eCardController>(_repConfirm); 
     28        } 
    5729 
    58         //    var result = controller.Status() as ContentResult; 
    59         //    System.Diagnostics.Debug.WriteLine("Zły formt eventtype. " + " Count: " + repConfirm.Count()); 
    60         //    Assert.That(repConfirm.Count().Equals(0)); 
    61         //    Assert.That(result.Content.Contains("FormatException")); 
    62         //} 
    63         //[Test] 
    64         //[Category("Unit")] 
    65         //public void OverflowException_Ordernumber_Test() 
    66         //{ 
    67         //    var controller = new PlatnoscController(); 
    68         //    var builder = new TestControllerBuilder(); 
    69         //    builder.InitializeController(controller); 
    70         //    builder.Form.Add("MERCHANTNUMBER", "132"); 
    71         //    builder.Form.Add("ORDERNUMBER", "12311111111111111"); 
    72         //    builder.Form.Add("VALIDATIONCODE", "AAA"); 
     30        [Test] 
     31        [Category("Unit")] 
     32        public void  Status_Returns_True_When_Passing_Correct_Request_Data() 
     33        { 
     34            var controller = CreateController(); 
     35            const string dateFormat = "yyyy-MM-dd HH:mm:ss.fff"; 
     36            var dateTime = DateTime.Now.ToString(dateFormat); 
     37            var formValues = new NameValueCollection { 
     38                                                         {"MERCHANTNUMBER", "1"},  
     39                                                         {"ORDERNUMBER", "2"}, 
     40                                                         {"COMMTYPE", "3"}, 
     41                                                         {"CURRENTSTATE", "4"}, 
     42                                                         {"PREVIOUSSTATE", "5"}, 
     43                                                         {"PAYMENTTYPE", "1"}, 
     44                                                         {"EVENTTYPE", "0"}, 
     45                                                         {"PAYMENTNUMBER", "1"}, 
     46                                                         {"APPROVALCODE", "6"}, 
     47                                                         {"VALIDATIONCODE", "7"}, 
     48                                                         {"BIN", "8"}, 
     49                                                         {"AUTHTIME", dateTime}, 
     50                                                         {"TYPE", "9"}, 
     51                                                         {"WITHCVC", "10"}}; 
     52            controller.Request.Form.Add(formValues); 
     53 
     54            var result = controller.Status() as ContentResult; 
     55 
     56            Assert.That(result.Content.Contains("OK")); 
    7357             
    74         //    var result = controller.Status() as ContentResult; 
    75         //    System.Diagnostics.Debug.WriteLine("1. Wartosc ordernumber jest za duza."); 
    76         //    System.Diagnostics.Debug.WriteLine("2. Contetnt: " + result.Content); 
    77         //    Assert.That(result.Content.Contains("OverflowException")); 
    78         //} 
    79         //[Test] 
    80         //[Category("Unit")] 
    81         //public void IncorrectLength_Validationcode_Test() 
    82         //{ 
    83         //    var controller = new PlatnoscController(); 
    84         //    var builder = new TestControllerBuilder(); 
    85         //    builder.InitializeController(controller); 
    86         //    builder.Form.Add("MERCHANTNUMBER", "132"); 
    87         //    builder.Form.Add("ORDERNUMBER", "1234"); 
    88         //    builder.Form.Add("VALIDATIONCODE", "AAAaaa"); 
    89              
    90         //    var result = controller.Status() as ContentResult; 
    91         //    System.Diagnostics.Debug.WriteLine("1. Validationcode jest zbyt dlugi. Conajwyzej 3 znaki."); 
    92         //    System.Diagnostics.Debug.WriteLine("2. Contetnt: " + result.Content); 
    93         //    Assert.That(result.Content.Contains("SqlException")); 
    94         //} 
     58            var paymentConfirmation = _repConfirm.FindAll().First(); 
     59            Assert.That(paymentConfirmation.MERCHANTNUMBER, Is.EqualTo("1")); 
     60            Assert.That(paymentConfirmation.ORDERNUMBER, Is.EqualTo(2)); 
     61            Assert.That(paymentConfirmation.COMMTYPE, Is.EqualTo("3")); 
     62            Assert.That(paymentConfirmation.CURRENTSTATE, Is.EqualTo("4")); 
     63            Assert.That(paymentConfirmation.PREVIOUSSTATE, Is.EqualTo("5")); 
     64            Assert.That(paymentConfirmation.APPROVALCODE, Is.EqualTo("6")); 
     65            Assert.That(paymentConfirmation.VALIDATIONCODE, Is.EqualTo("7")); 
     66            Assert.That(paymentConfirmation.BIN, Is.EqualTo("8")); 
     67            Assert.That(paymentConfirmation.TYPE, Is.EqualTo("9")); 
     68            Assert.That(paymentConfirmation.WITHCVC, Is.EqualTo("10")); 
     69            Assert.That(paymentConfirmation.PAYMENTTYPE, Is.True); 
     70            Assert.That(paymentConfirmation.EVENTTYPE, Is.False); 
     71            Assert.That(paymentConfirmation.PAYMENTNUMBER, Is.True); 
     72            Assert.That(paymentConfirmation.AUTHTIME.Value.ToString(dateFormat), Is.EqualTo(dateTime)); 
     73        } 
     74 
     75        [Test] 
     76        [Category("Unit")] 
     77        public void Status_Returns_False_And_Throws_FormatException_When_Passing_OrderNumber_In_Wrong_Format() 
     78        { 
     79            var controller = CreateController(); 
     80            var valueCollection = new NameValueCollection {{"ORDERNUMBER", "fdsf"}}; 
     81            controller.Request.Form.Add(valueCollection); 
     82 
     83            var result = controller.Status() as ContentResult; 
     84 
     85            Assert.That(_repConfirm.Count(), Is.EqualTo(0)); 
     86            Assert.That(result.Content.Contains("FALSE")); 
     87            Assert.That(result.Content.Contains("FormatException")); 
     88        } 
     89 
     90        [Test] 
     91        [Category("Unit")] 
     92        public void Status_Returns_False_And_Throws_FormatException_When_Passing_PaymentType_In_Wrong_Format() 
     93        { 
     94            var controller = CreateController(); 
     95            var valueCollection = new NameValueCollection { { "PAYMENTTYPE", "32hvhsvhv" } }; 
     96            controller.Request.Form.Add(valueCollection); 
     97 
     98            var result = controller.Status() as ContentResult; 
     99 
     100            Assert.That(_repConfirm.Count(), Is.EqualTo(0)); 
     101            Assert.That(result.Content.Contains("FALSE")); 
     102            Assert.That(result.Content.Contains("FormatException")); 
     103        } 
     104 
     105        [Test] 
     106        [Category("Unit")] 
     107        public void Status_Returns_False_And_Throws_FormatException_When_Passing_EventType_In_Wrong_Format() 
     108        { 
     109            var controller = CreateController(); 
     110            var valueCollection = new NameValueCollection { { "EVENTTYPE", "32hvhsvhv" } }; 
     111            controller.Request.Form.Add(valueCollection); 
     112 
     113            var result = controller.Status() as ContentResult; 
     114 
     115            Assert.That(_repConfirm.Count(), Is.EqualTo(0)); 
     116            Assert.That(result.Content.Contains("FALSE")); 
     117            Assert.That(result.Content.Contains("FormatException")); 
     118        } 
     119 
     120        [Test] 
     121        [Category("Unit")] 
     122        public void Status_Returns_False_And_Throws_OverflowException_When_Passing_OrderNumer_Greater_Than_Integer() 
     123        { 
     124            var controller = CreateController(); 
     125            var valueCollection = new NameValueCollection { { "ORDERNUMBER", "12311111111111111" } }; 
     126            controller.Request.Form.Add(valueCollection); 
     127 
     128            var result = controller.Status() as ContentResult; 
     129 
     130            Assert.That(_repConfirm.Count(), Is.EqualTo(0)); 
     131            Assert.That(result.Content.Contains("FALSE"), "Response should contain FALSE"); 
     132            Assert.That(result.Content.Contains("OverflowException"), "Response should contain OverflowException"); 
     133        } 
     134 
     135        [Test] 
     136        [Category("Unit")] 
     137        public void Status_Returns_False_And_Throws_SqlException_When_Passing_ValidationCode_Longer_Than_Three_Characters() 
     138        { 
     139            var controller = CreateController(); 
     140            var valueCollection = new NameValueCollection { { "VALIDATIONCODE", "1234" } }; 
     141            controller.Request.Form.Add(valueCollection); 
     142 
     143            var result = controller.Status() as ContentResult; 
     144 
     145            Assert.That(_repConfirm.Count(), Is.EqualTo(0), "Should not have any items"); 
     146            Assert.That(result.Content.Contains("FALSE"), "Response should contain FALSE"); 
     147            Assert.That(result.Content.Contains("ArgumentException"), "Response should contain SqlException"); 
     148        } 
    95149    } 
    96150}