| [959] | 1 | using System;
|
|---|
| [970] | 2 | using adMoto.Payments.Core;
|
|---|
| 3 | using adMoto.Payments.Core.Data;
|
|---|
| [959] | 4 | using NUnit.Framework;
|
|---|
| 5 | using Platnosci.Models;
|
|---|
| 6 |
|
|---|
| 7 | namespace Platnosci.Tests.Web
|
|---|
| 8 | {
|
|---|
| 9 | [TestFixture]
|
|---|
| [969] | 10 | public class eCardDataTests
|
|---|
| [959] | 11 | {
|
|---|
| 12 | private readonly Function _function = new Function();
|
|---|
| [960] | 13 |
|
|---|
| [959] | 14 | [Test]
|
|---|
| 15 | [Category("Unit")]
|
|---|
| [960] | 16 | public void SetHash_Returns_zlyHash_When_Passing_Invalid_Merchant()
|
|---|
| 17 | {
|
|---|
| [963] | 18 | //Arrange
|
|---|
| [959] | 19 | var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
|
|---|
| 20 | var platnosc = _function.CreateNewPayment(123, true, DateTime.Now, 1);
|
|---|
| 21 | repPayment.Insert(platnosc);
|
|---|
| 22 |
|
|---|
| 23 | var ecarddata = new eCardData(repPayment);
|
|---|
| 24 |
|
|---|
| 25 | var merchant = new Merchant(){
|
|---|
| 26 | Payment = platnosc,
|
|---|
| 27 | Id = "171485000",
|
|---|
| 28 | Password = "ashSeth2",
|
|---|
| 29 | };
|
|---|
| [963] | 30 |
|
|---|
| 31 | //Act
|
|---|
| [959] | 32 | var result = ecarddata.SetHash(merchant);
|
|---|
| [963] | 33 |
|
|---|
| 34 | //Assert
|
|---|
| [959] | 35 | Assert.That(result, Is.EqualTo(Merchant.BAD_HASH));
|
|---|
| 36 | }
|
|---|
| [960] | 37 |
|
|---|
| [959] | 38 | [Test]
|
|---|
| 39 | [Category("Unit")]
|
|---|
| [960] | 40 | public void SetHash_Returns_PaymentErrorInfo_When_Passing_Invalid_Payment()
|
|---|
| [959] | 41 | {
|
|---|
| [963] | 42 | //Arrange
|
|---|
| [959] | 43 | var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
|
|---|
| 44 | var platnosc = _function.CreateNewPayment(123, true, DateTime.Now, 1);
|
|---|
| 45 |
|
|---|
| 46 | repPayment.Insert(platnosc);
|
|---|
| 47 |
|
|---|
| 48 | var ecarddata = new eCardData(repPayment);
|
|---|
| 49 |
|
|---|
| 50 | var merchant = new Merchant()
|
|---|
| 51 | {
|
|---|
| 52 | Payment = new PlatnosciEcard(){
|
|---|
| 53 | ORDERDESCRIPTION = "dd",
|
|---|
| 54 | IDFaktury = 21,
|
|---|
| 55 | Data = DateTime.Now
|
|---|
| 56 | },
|
|---|
| 57 | Id = "171485000",
|
|---|
| 58 | Password = "ashSeth2",
|
|---|
| 59 | };
|
|---|
| [963] | 60 |
|
|---|
| 61 | //Act
|
|---|
| [959] | 62 | var result = ecarddata.SetHash(merchant);
|
|---|
| [963] | 63 |
|
|---|
| 64 | //Assert
|
|---|
| [959] | 65 | Assert.That(result, Is.EqualTo(Merchant.HASH_ERROR_INFO));
|
|---|
| 66 | }
|
|---|
| 67 | [Test]
|
|---|
| 68 | [Category("Unit")]
|
|---|
| [960] | 69 | public void SetHash_Returns_Correct_Hash_When_Passing_Valid_Data()
|
|---|
| [959] | 70 | {
|
|---|
| [963] | 71 | //Arrange
|
|---|
| [959] | 72 | var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
|
|---|
| 73 | var platnosc = _function.CreateNewPayment(123, true, DateTime.Now, 1);
|
|---|
| 74 | platnosc.AMOUNT = 229;
|
|---|
| 75 | platnosc.CURRENCY = FunkcjePlatnosci.PLN;
|
|---|
| 76 |
|
|---|
| 77 | repPayment.Insert(platnosc);
|
|---|
| 78 |
|
|---|
| 79 | var ecarddata = new eCardData(repPayment);
|
|---|
| 80 |
|
|---|
| 81 | var merchant = new Merchant()
|
|---|
| 82 | {
|
|---|
| 83 | Payment = platnosc,
|
|---|
| 84 | Id = "171485000",
|
|---|
| 85 | Password = "ashSeth2",
|
|---|
| 86 | };
|
|---|
| [963] | 87 |
|
|---|
| 88 | //Act
|
|---|
| [959] | 89 | var result = ecarddata.SetHash(merchant);
|
|---|
| [963] | 90 |
|
|---|
| 91 | //Assert
|
|---|
| 92 | Assert.That(result.Length, Is.GreaterThan(30));
|
|---|
| [959] | 93 | }
|
|---|
| [960] | 94 |
|
|---|
| [959] | 95 | [Test]
|
|---|
| 96 | [Category("Unit")]
|
|---|
| [960] | 97 | public void SetHash_Returns_BAD_HASH_When_Invoice_Amount_Is_Zero()
|
|---|
| [959] | 98 | {
|
|---|
| [963] | 99 | //Arrange
|
|---|
| [959] | 100 | var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
|
|---|
| 101 | var platnosc = _function.CreateNewPayment(123, true, DateTime.Now, 1);
|
|---|
| 102 | platnosc.AMOUNT = 0;
|
|---|
| 103 | platnosc.CURRENCY = FunkcjePlatnosci.PLN;
|
|---|
| 104 |
|
|---|
| 105 | repPayment.Insert(platnosc);
|
|---|
| 106 |
|
|---|
| 107 | var ecarddata = new eCardData(repPayment);
|
|---|
| 108 |
|
|---|
| 109 | var merchant = new Merchant()
|
|---|
| 110 | {
|
|---|
| 111 | Payment = platnosc,
|
|---|
| 112 | Id = "171485000",
|
|---|
| 113 | Password = "ashSeth2",
|
|---|
| 114 | };
|
|---|
| [963] | 115 |
|
|---|
| 116 | //Act
|
|---|
| [959] | 117 | var result = ecarddata.SetHash(merchant);
|
|---|
| [963] | 118 |
|
|---|
| 119 | //Assert
|
|---|
| [959] | 120 | Assert.That(result, Is.EqualTo(Merchant.BAD_HASH));
|
|---|
| 121 | }
|
|---|
| [960] | 122 |
|
|---|
| [959] | 123 | [Test]
|
|---|
| 124 | [Category("Unit")]
|
|---|
| [960] | 125 | public void SetHash_Returns_BAD_HASH_When_Password_Is_Wrong()
|
|---|
| [959] | 126 | {
|
|---|
| [963] | 127 | //Arrange
|
|---|
| [959] | 128 | var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
|
|---|
| 129 | var platnosc = _function.CreateNewPayment(123, true, DateTime.Now, 1);
|
|---|
| 130 | platnosc.AMOUNT = 229;
|
|---|
| 131 | platnosc.CURRENCY = FunkcjePlatnosci.PLN;
|
|---|
| 132 |
|
|---|
| 133 | repPayment.Insert(platnosc);
|
|---|
| 134 |
|
|---|
| 135 | var ecarddata = new eCardData(repPayment);
|
|---|
| 136 |
|
|---|
| 137 | var merchant = new Merchant()
|
|---|
| 138 | {
|
|---|
| 139 | Payment = platnosc,
|
|---|
| 140 | Id = "TEST",
|
|---|
| 141 | Password = "test",
|
|---|
| 142 | };
|
|---|
| [963] | 143 |
|
|---|
| 144 | //Act
|
|---|
| [959] | 145 | var result = ecarddata.SetHash(merchant);
|
|---|
| [963] | 146 |
|
|---|
| 147 | //Assert
|
|---|
| [959] | 148 | Assert.That(result, Is.EqualTo(Merchant.BAD_HASH));
|
|---|
| 149 | }
|
|---|
| [963] | 150 |
|
|---|
| 151 | [Test]
|
|---|
| 152 | [Category("Unit")]
|
|---|
| 153 | public void SetHash_Returns_Correct_Hash_When_Payment_Amount_Is_Less_Then_100()
|
|---|
| 154 | {
|
|---|
| 155 | //Arrange
|
|---|
| 156 | var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
|
|---|
| 157 | var platnosc = _function.CreateNewPayment(123, true, DateTime.Now, 1);
|
|---|
| 158 | platnosc.AMOUNT = 11;
|
|---|
| 159 | platnosc.CURRENCY = FunkcjePlatnosci.PLN;
|
|---|
| 160 |
|
|---|
| 161 | repPayment.Insert(platnosc);
|
|---|
| 162 |
|
|---|
| 163 | var ecarddata = new eCardData(repPayment);
|
|---|
| 164 |
|
|---|
| 165 | var merchant = new Merchant()
|
|---|
| 166 | {
|
|---|
| 167 | Payment = platnosc,
|
|---|
| 168 | Id = "171485000",
|
|---|
| 169 | Password = "ashSeth2",
|
|---|
| 170 | };
|
|---|
| 171 |
|
|---|
| 172 | //Act
|
|---|
| 173 | var result = ecarddata.SetHash(merchant);
|
|---|
| 174 |
|
|---|
| 175 | //Assert
|
|---|
| 176 | System.Diagnostics.Debug.WriteLine(result.Length);
|
|---|
| 177 | Assert.That(result.Length, Is.GreaterThan(30));
|
|---|
| 178 | }
|
|---|
| 179 |
|
|---|
| 180 | [Test]
|
|---|
| 181 | [Category("Unit")]
|
|---|
| 182 | public void Create_Merchant_Data_Returns_Invoice_Correct_Amount_When_Merchant_Is_Valid()
|
|---|
| 183 | {
|
|---|
| 184 | //Arrange
|
|---|
| 185 | var idFaktury = 12345;
|
|---|
| 186 | var amountPL = 5000;
|
|---|
| 187 | var amountEUR = 1300;
|
|---|
| 188 |
|
|---|
| [970] | 189 | var repVPayment = new Repository<Invoice>(new FakeDataContext());
|
|---|
| [963] | 190 | var invoice = _function.CreateForeignInvoice(idFaktury, "nip1", "abc/2009", amountPL, 0, amountEUR, "EUR");
|
|---|
| 191 | repVPayment.Insert(invoice);
|
|---|
| 192 |
|
|---|
| 193 | var payer = _function.CreatePayer(idFaktury, "test", "test");
|
|---|
| 194 | var repPayment = new Repository<PlatnosciEcard>(new FakeDataContext());
|
|---|
| 195 | var eCardData = new eCardData(repPayment);
|
|---|
| 196 |
|
|---|
| 197 | //Act
|
|---|
| 198 | var result = eCardData.CreateMerchantData(invoice, payer, "pl", "ahaah");
|
|---|
| 199 | var payment = repPayment.FindOne(i => i.IDFaktury == idFaktury);
|
|---|
| 200 |
|
|---|
| 201 | //Assert
|
|---|
| 202 | System.Diagnostics.Debug.WriteLine("Faktura jest w EUR.");
|
|---|
| 203 | System.Diagnostics.Debug.WriteLine("PLN:" + amountPL + "," + " EUR:" + amountEUR);
|
|---|
| 204 | Assert.That(payment.AMOUNT, Is.EqualTo(amountEUR * 100));
|
|---|
| 205 | }
|
|---|
| 206 |
|
|---|
| 207 | [Test]
|
|---|
| 208 | [Category("Unit")]
|
|---|
| 209 | public void Create_Merchant_Data_Returns_BAD_HASH_When_Invoice_Amount_Is_Zero()
|
|---|
| 210 | {
|
|---|
| 211 | //Arrange
|
|---|
| 212 | var ecarddata = new eCardData(new Repository<PlatnosciEcard>(new FakeDataContext()));
|
|---|
| 213 | var invoice = _function.CreateInvoice(123, "nip", "abc/2009", 0, 2);
|
|---|
| 214 |
|
|---|
| 215 | var payer = _function.CreatePayer(123, "test", "test");
|
|---|
| 216 |
|
|---|
| 217 | //Act
|
|---|
| 218 | var result = ecarddata.CreateMerchantData(invoice, payer, "PL", "abcd");
|
|---|
| 219 |
|
|---|
| 220 | //Assert
|
|---|
| 221 | System.Diagnostics.Debug.WriteLine("Error: " + result.Error + " is not valid.");
|
|---|
| 222 | Assert.That(result.Error, Is.EqualTo("hash")); //dla wartosci amount=0 eCard zwroci hash o wartości "zlyHash"
|
|---|
| 223 | }
|
|---|
| 224 |
|
|---|
| 225 | [Test]
|
|---|
| 226 | [Category("Unit")]
|
|---|
| 227 | public void Create_Merchant_Data_Returns_Error_When_Orderdescription_Is_Not_Valid()
|
|---|
| 228 | {
|
|---|
| 229 | //Arrange
|
|---|
| 230 | var ecarddata = new eCardData(new Repository<PlatnosciEcard>(new FakeDataContext()));
|
|---|
| 231 | var invoice = _function.CreateInvoice(123, "nip", "", 200, 2);
|
|---|
| 232 |
|
|---|
| 233 | var payer = _function.CreatePayer(123, "test", "test");
|
|---|
| 234 |
|
|---|
| 235 | //Act
|
|---|
| 236 | var result = ecarddata.CreateMerchantData(invoice, payer, "PL", "abcd");
|
|---|
| 237 |
|
|---|
| 238 | //Assert
|
|---|
| 239 | System.Diagnostics.Debug.WriteLine("Error: " + result.Error + " is not valid.");
|
|---|
| 240 | Assert.That(result.Error, Is.EqualTo("orderdescription"));
|
|---|
| 241 | }
|
|---|
| 242 |
|
|---|
| 243 | [Test]
|
|---|
| 244 | [Category("Unit")]
|
|---|
| 245 | public void Create_Merchant_Data_Returns_Error_When_Name_Is_Not_Valid()
|
|---|
| 246 | {
|
|---|
| 247 | //Arrange
|
|---|
| 248 | var ecarddata = new eCardData(new Repository<PlatnosciEcard>(new FakeDataContext()));
|
|---|
| 249 | var invoice = _function.CreateInvoice(123, "nip", "abc/2009", 200, 2);
|
|---|
| 250 |
|
|---|
| 251 | var payer = _function.CreatePayer(123, "", "test");
|
|---|
| 252 |
|
|---|
| 253 | //Act
|
|---|
| 254 | var result = ecarddata.CreateMerchantData(invoice, payer, "PL", "abcd");
|
|---|
| 255 |
|
|---|
| 256 | //Assert
|
|---|
| 257 | System.Diagnostics.Debug.WriteLine("Error: " + result.Error + " is not valid.");
|
|---|
| 258 | Assert.That(result.Error, Is.EqualTo("name"));
|
|---|
| 259 | }
|
|---|
| 260 |
|
|---|
| 261 | [Test]
|
|---|
| 262 | [Category("Unit")]
|
|---|
| 263 | public void Create_Merchant_Data_Returns_Error_When_Surname_Is_Not_Valid()
|
|---|
| 264 | {
|
|---|
| 265 | //Arrange
|
|---|
| 266 | var ecarddata = new eCardData(new Repository<PlatnosciEcard>(new FakeDataContext()));
|
|---|
| 267 | var invoice = _function.CreateInvoice(123, "nip", "abc/2009", 200, 2);
|
|---|
| 268 |
|
|---|
| 269 | var payer = _function.CreatePayer(123, "test", "");
|
|---|
| 270 |
|
|---|
| 271 | //Act
|
|---|
| 272 | var result = ecarddata.CreateMerchantData(invoice, payer, "PL", "abcd");
|
|---|
| 273 |
|
|---|
| 274 | //Assert
|
|---|
| 275 | System.Diagnostics.Debug.WriteLine("Error: " + result.Error + " is not valid.");
|
|---|
| 276 | Assert.That(result.Error, Is.EqualTo("surname"));
|
|---|
| 277 | }
|
|---|
| 278 |
|
|---|
| 279 | [Test]
|
|---|
| 280 | [Category("Unit")]
|
|---|
| 281 | public void Create_Merchant_Data_Returns_Valid_Merchnt_When_All_Data_Are_Correct()
|
|---|
| 282 | {
|
|---|
| 283 | //Arrange
|
|---|
| 284 | var ecarddata = new eCardData(new Repository<PlatnosciEcard>(new FakeDataContext()));
|
|---|
| 285 | var invoice = _function.CreateInvoice(123, "nip", "abc/2009", 200, 2);
|
|---|
| 286 |
|
|---|
| 287 | var payer = _function.CreatePayer(123, "test", "test");
|
|---|
| 288 |
|
|---|
| 289 | //Act
|
|---|
| 290 | var result2 = ecarddata.CreateMerchantData(invoice, payer, "PL", "abcd");
|
|---|
| 291 |
|
|---|
| 292 | //Assert
|
|---|
| 293 | System.Diagnostics.Debug.WriteLine("Wszystkie dane sa poprawne!!");
|
|---|
| 294 | Assert.That(result2.Error, Is.EqualTo(null));
|
|---|
| 295 | }
|
|---|
| 296 |
|
|---|
| 297 | [Test]
|
|---|
| 298 | [Category("Unit")]
|
|---|
| 299 | public void Get_Url_Returns_Correct_eCard_Url()
|
|---|
| 300 | {
|
|---|
| 301 | //Arrange
|
|---|
| 302 | var pl = new PlatnosciEcard() {ORDERDESCRIPTION = "abc/2009"};
|
|---|
| 303 | var m = new Merchant(){Payment = pl, Id = "ABCD" };
|
|---|
| 304 | var eCardData = new eCardData(new Repository<PlatnosciEcard>(new FakeDataContext()));
|
|---|
| 305 |
|
|---|
| 306 | //Act
|
|---|
| 307 | var result = eCardData.GetUrl(m);
|
|---|
| 308 |
|
|---|
| 309 | //Assert
|
|---|
| 310 | System.Diagnostics.Debug.WriteLine("eCard url:" + result + " " + m);
|
|---|
| 311 | Assert.That(result, Is.Not.EqualTo(""));
|
|---|
| 312 | }
|
|---|
| [959] | 313 | }
|
|---|
| 314 | }
|
|---|