Advertisement
XfreeBG

Untitled

Mar 25th, 2023
10
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 49.15 KB | None | 0 0
  1. using Bank_Application.Controller;
  2. using Bank_Application.Data;
  3. using Bank_Application.Service;
  4. using Bank_Application.View;
  5. using Moq;
  6. using System.Net.NetworkInformation;
  7.  
  8. namespace TestProject2
  9. {
  10. public class Tests
  11. {
  12. private BankService bankService;
  13. private AppView view;
  14. private bool isRunning;
  15. private UserBankInfo userBankInfo;
  16. private UserInfo userInfo;
  17. private CreditMoneyInfo creditMoneyInfo;
  18. private CreditDateInfo creditDateInfo;
  19. private CreditBooleanInfo creditBooleanInfo;
  20. private UserIBANInfo userIBANInfo;
  21.  
  22. [SetUp]
  23. public void Setup()
  24. {
  25. bankService = new BankService();
  26.  
  27. string egn = CreateRandomEGN();
  28. string card_number = this.bankService.CreateRandomCardNumber();
  29. string iban = this.bankService.CreateRandomIBAN();
  30.  
  31. userInfo = new UserInfo(egn, "Martin", "Kulev", "[email protected]");
  32. userBankInfo = new UserBankInfo(card_number, "2006", userInfo.EGN, iban);
  33. creditBooleanInfo = new CreditBooleanInfo(userBankInfo.Card_number, false);
  34. creditMoneyInfo = new CreditMoneyInfo(card_number, 1000, 0.03, 1000 + 1000 * 0.03);
  35. creditDateInfo = new CreditDateInfo(userBankInfo.Card_number, "2023-03-25", "2024-03-25");
  36. userIBANInfo = new UserIBANInfo(userBankInfo.IBAN);
  37. }
  38.  
  39. public string CreateRandomEGN()
  40. {
  41. Random random = new Random();
  42.  
  43. string number = "";
  44.  
  45. for (int i = 0; i < 10; i++)
  46. {
  47. int digit = random.Next(0, 10);
  48. number += digit.ToString();
  49. }
  50.  
  51. return number;
  52. }
  53.  
  54.  
  55.  
  56.  
  57.  
  58. [Test]
  59. public void RegisterUser_AssertUserInfosIsSentToDB()
  60. {
  61. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  62.  
  63. using (BankContext context = new BankContext())
  64. {
  65. Assert.IsTrue(context.UserInfos.Contains(userInfo));
  66. context.Remove(userInfo);
  67. context.Remove(userBankInfo);
  68. context.Remove(creditBooleanInfo);
  69. context.Remove(userIBANInfo);
  70. context.SaveChanges();
  71. }
  72. }
  73.  
  74. [Test]
  75. public void RegisterUser_AssertUserBankInfosIsSentToDB()
  76. {
  77. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  78.  
  79. using (BankContext context = new BankContext())
  80. {
  81. Assert.IsTrue(context.UserBankInfos.Contains(userBankInfo));
  82. context.Remove(userInfo);
  83. context.Remove(userBankInfo);
  84. context.Remove(creditBooleanInfo);
  85. context.Remove(userIBANInfo);
  86. context.SaveChanges();
  87. }
  88. }
  89.  
  90. [Test]
  91. public void RegisterUser_AssertCreditBooleanInfosIsSentToDB()
  92. {
  93. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  94.  
  95. using (BankContext context = new BankContext())
  96. {
  97. Assert.IsTrue(context.CreditBooleanInfos.Contains(creditBooleanInfo));
  98. context.Remove(userInfo);
  99. context.Remove(userBankInfo);
  100. context.Remove(creditBooleanInfo);
  101. context.Remove(userIBANInfo);
  102. context.SaveChanges();
  103. }
  104. }
  105.  
  106. [Test]
  107. public void RegisterUser_AssertUserIBANInfosIsSentToDB()
  108. {
  109. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  110.  
  111. using (BankContext context = new BankContext())
  112. {
  113. Assert.IsTrue(context.UserIBANInfos.Contains(userIBANInfo));
  114. context.Remove(userInfo);
  115. context.Remove(userBankInfo);
  116. context.Remove(creditBooleanInfo);
  117. context.Remove(userIBANInfo);
  118. context.SaveChanges();
  119. }
  120. }
  121.  
  122.  
  123.  
  124.  
  125.  
  126. [Test]
  127. public void DoesEGNExist_AssertEGNReturnsTrueWhenExists()
  128. {
  129. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  130. bool egnExists = this.bankService.DoesEGNExist(userInfo);
  131. Assert.IsTrue(egnExists);
  132.  
  133. using (BankContext context = new BankContext())
  134. {
  135. context.Remove(userInfo);
  136. context.Remove(userBankInfo);
  137. context.Remove(creditBooleanInfo);
  138. context.Remove(userIBANInfo);
  139. context.SaveChanges();
  140. }
  141. }
  142.  
  143. [Test]
  144. public void DoesEGNExist_AssertEGNReturnsFalseWhenNotExist()
  145. {
  146. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  147.  
  148. using (BankContext context = new BankContext())
  149. {
  150. context.Remove(userInfo);
  151. context.Remove(userBankInfo);
  152. context.Remove(creditBooleanInfo);
  153. context.Remove(userIBANInfo);
  154. context.SaveChanges();
  155. }
  156.  
  157. bool egnExists = this.bankService.DoesEGNExist(userInfo);
  158. Assert.IsFalse(egnExists);
  159. }
  160.  
  161.  
  162.  
  163.  
  164.  
  165. [Test]
  166. public void CreateRandomCardNumber_AssertCardNumbersAreUnique()
  167. {
  168. string cardNumber1 = this.bankService.CreateRandomCardNumber();
  169. string cardNumber2 = this.bankService.CreateRandomCardNumber();
  170. Assert.AreNotEqual(cardNumber1, cardNumber2);
  171. }
  172.  
  173. [Test]
  174. public void CreateRandomCardNumber_AssertCardNumberHas19Char()
  175. {
  176. string cardNumber = this.bankService.CreateRandomCardNumber();
  177. Assert.IsTrue(cardNumber.Length == 19);
  178. }
  179.  
  180. [Test]
  181. public void CreateRandomCardNumber_AssertCardNumberAlwaysHasHyphen()
  182. {
  183. string cardNumber = this.bankService.CreateRandomCardNumber();
  184. Assert.IsTrue(cardNumber.Contains("-"));
  185. }
  186.  
  187.  
  188.  
  189.  
  190.  
  191. [Test]
  192. public void CreateRandomIBAN_AssertIBANsAreUnique()
  193. {
  194. string iban1 = this.bankService.CreateRandomIBAN();
  195. string iban2 = this.bankService.CreateRandomIBAN();
  196. Assert.AreNotEqual(iban1, iban2);
  197. }
  198.  
  199. [Test]
  200. public void CreateRandomIBAN_AssertIBANHas20Chars()
  201. {
  202. string iban = this.bankService.CreateRandomIBAN();
  203. Assert.IsTrue(iban.Length == 20);
  204. }
  205.  
  206. [Test]
  207. public void CreateRandomCardIBAN_AssertIBANAlwaysHasBG()
  208. {
  209. string iban = this.bankService.CreateRandomIBAN();
  210. Assert.IsTrue(iban.Contains("BG"));
  211. }
  212.  
  213. [Test]
  214. public void CreateRandomCardIBAN_AssertIBANAlwaysHas00()
  215. {
  216. string iban = this.bankService.CreateRandomIBAN();
  217. Assert.IsTrue(iban.Contains("00"));
  218. }
  219.  
  220.  
  221.  
  222.  
  223.  
  224. [Test]
  225. public void LogInUserInto1stTable_AssertCard_numberIsLoggedCorrectly()
  226. {
  227. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  228. UserBankInfo userBankInfoTest = this.bankService.LogInUserInto1stTable(userBankInfo.Card_number);
  229. Assert.IsTrue(userBankInfo.Card_number == userBankInfoTest.Card_number);
  230.  
  231. using (BankContext context = new BankContext())
  232. {
  233. context.Remove(userInfo);
  234. context.Remove(userBankInfo);
  235. context.Remove(creditBooleanInfo);
  236. context.Remove(userIBANInfo);
  237. context.SaveChanges();
  238. }
  239. }
  240.  
  241. [Test]
  242. public void LogInUserInto1stTable_AssertPINIsLoggedCorrectly()
  243. {
  244. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  245. UserBankInfo userBankInfoTest = this.bankService.LogInUserInto1stTable(userBankInfo.Card_number);
  246. Assert.IsTrue(userBankInfo.PIN == userBankInfoTest.PIN);
  247.  
  248. using (BankContext context = new BankContext())
  249. {
  250. context.Remove(userInfo);
  251. context.Remove(userBankInfo);
  252. context.Remove(creditBooleanInfo);
  253. context.Remove(userIBANInfo);
  254. context.SaveChanges();
  255. }
  256. }
  257.  
  258. [Test]
  259. public void LogInUserInto1stTable_AssertIBANIsLoggedCorrectly()
  260. {
  261. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  262. UserBankInfo userBankInfoTest = this.bankService.LogInUserInto1stTable(userBankInfo.Card_number);
  263. Assert.IsTrue(userBankInfo.IBAN == userBankInfoTest.IBAN);
  264.  
  265. using (BankContext context = new BankContext())
  266. {
  267. context.Remove(userInfo);
  268. context.Remove(userBankInfo);
  269. context.Remove(creditBooleanInfo);
  270. context.Remove(userIBANInfo);
  271. context.SaveChanges();
  272. }
  273. }
  274.  
  275. [Test]
  276. public void LogInUserInto1stTable_AssertEGNIsLoggedCorrectly()
  277. {
  278. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  279. UserBankInfo userBankInfoTest = this.bankService.LogInUserInto1stTable(userBankInfo.Card_number);
  280. Assert.IsTrue(userBankInfo.EGN == userBankInfoTest.EGN);
  281.  
  282. using (BankContext context = new BankContext())
  283. {
  284. context.Remove(userInfo);
  285. context.Remove(userBankInfo);
  286. context.Remove(creditBooleanInfo);
  287. context.Remove(userIBANInfo);
  288. context.SaveChanges();
  289. }
  290. }
  291.  
  292. [Test]
  293. public void LogInUserInto1stTable_AssertBalanceIsLoggedCorrectly()
  294. {
  295. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  296. UserBankInfo userBankInfoTest = this.bankService.LogInUserInto1stTable(userBankInfo.Card_number);
  297. Assert.IsTrue(userBankInfo.Balance == userBankInfoTest.Balance);
  298.  
  299. using (BankContext context = new BankContext())
  300. {
  301. context.Remove(userInfo);
  302. context.Remove(userBankInfo);
  303. context.Remove(creditBooleanInfo);
  304. context.Remove(userIBANInfo);
  305. context.SaveChanges();
  306. }
  307. }
  308.  
  309.  
  310.  
  311.  
  312.  
  313. [Test]
  314. public void LogInUserInto2ndTable_AssertEGNIsLoggedCorrectly()
  315. {
  316. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  317. UserInfo userInfoTest = this.bankService.LogInUserInto2ndTable(userInfo.EGN);
  318. Assert.IsTrue(userInfo.EGN == userInfoTest.EGN);
  319.  
  320. using (BankContext context = new BankContext())
  321. {
  322. context.Remove(userInfo);
  323. context.Remove(userBankInfo);
  324. context.Remove(creditBooleanInfo);
  325. context.Remove(userIBANInfo);
  326. context.SaveChanges();
  327. }
  328. }
  329.  
  330. [Test]
  331. public void LogInUserInto2ndTable_AssertFirstNameIsLoggedCorrectly()
  332. {
  333. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  334. UserInfo userInfoTest = this.bankService.LogInUserInto2ndTable(userInfo.EGN);
  335. Assert.IsTrue(userInfo.First_name == userInfoTest.First_name);
  336.  
  337. using (BankContext context = new BankContext())
  338. {
  339. context.Remove(userInfo);
  340. context.Remove(userBankInfo);
  341. context.Remove(creditBooleanInfo);
  342. context.Remove(userIBANInfo);
  343. context.SaveChanges();
  344. }
  345. }
  346.  
  347. [Test]
  348. public void LogInUserInto2ndTable_AssertLastNameIsLoggedCorrectly()
  349. {
  350. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  351. UserInfo userInfoTest = this.bankService.LogInUserInto2ndTable(userInfo.EGN);
  352. Assert.IsTrue(userInfo.Last_name == userInfoTest.Last_name);
  353.  
  354. using (BankContext context = new BankContext())
  355. {
  356. context.Remove(userInfo);
  357. context.Remove(userBankInfo);
  358. context.Remove(creditBooleanInfo);
  359. context.Remove(userIBANInfo);
  360. context.SaveChanges();
  361. }
  362. }
  363.  
  364. [Test]
  365. public void LogInUserInto2ndTable_AssertEmailIsLoggedCorrectly()
  366. {
  367. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  368. UserInfo userInfoTest = this.bankService.LogInUserInto2ndTable(userInfo.EGN);
  369. Assert.IsTrue(userInfo.Email == userInfoTest.Email);
  370.  
  371. using (BankContext context = new BankContext())
  372. {
  373. context.Remove(userInfo);
  374. context.Remove(userBankInfo);
  375. context.Remove(creditBooleanInfo);
  376. context.Remove(userIBANInfo);
  377. context.SaveChanges();
  378. }
  379. }
  380.  
  381.  
  382.  
  383.  
  384.  
  385. [Test]
  386. public void LogInUserInto3rdTable_AssertCardNumberIsLoggedCorrectly()
  387. {
  388. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  389. CreditBooleanInfo creditBooleanInfoTest = this.bankService.LogInUserInto3rdTable(userBankInfo.Card_number);
  390. Assert.IsTrue(creditBooleanInfo.Card_number == creditBooleanInfoTest.Card_number);
  391.  
  392. using (BankContext context = new BankContext())
  393. {
  394. context.Remove(userInfo);
  395. context.Remove(userBankInfo);
  396. context.Remove(creditBooleanInfo);
  397. context.Remove(userIBANInfo);
  398. context.SaveChanges();
  399. }
  400. }
  401.  
  402. [Test]
  403. public void LogInUserInto3rdTable_AssertHasTakenCreditIsLoggedCorrectly()
  404. {
  405. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  406. CreditBooleanInfo creditBooleanInfoTest = this.bankService.LogInUserInto3rdTable(userBankInfo.Card_number);
  407. Assert.IsTrue(creditBooleanInfo.Has_taken_credit == creditBooleanInfoTest.Has_taken_credit);
  408.  
  409. using (BankContext context = new BankContext())
  410. {
  411. context.Remove(userInfo);
  412. context.Remove(userBankInfo);
  413. context.Remove(creditBooleanInfo);
  414. context.Remove(userIBANInfo);
  415. context.SaveChanges();
  416. }
  417. }
  418.  
  419.  
  420.  
  421.  
  422.  
  423. [Test]
  424. public void DoesCardNumberExist_AssertCardNumberReturnsTrueWhenExists()
  425. {
  426. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  427. bool cardNumberExists = this.bankService.DoesCardNumberExist(userBankInfo);
  428. Assert.IsTrue(cardNumberExists);
  429.  
  430. using (BankContext context = new BankContext())
  431. {
  432. context.Remove(userInfo);
  433. context.Remove(userBankInfo);
  434. context.Remove(creditBooleanInfo);
  435. context.Remove(userIBANInfo);
  436. context.SaveChanges();
  437. }
  438. }
  439.  
  440. [Test]
  441. public void DoesCardNumberExist_AssertCardNumberReturnsFalseWhenNotExist()
  442. {
  443. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  444.  
  445. using (BankContext context = new BankContext())
  446. {
  447. context.Remove(userInfo);
  448. context.Remove(userBankInfo);
  449. context.Remove(creditBooleanInfo);
  450. context.Remove(userIBANInfo);
  451. context.SaveChanges();
  452. }
  453.  
  454. bool CardNumberExists = this.bankService.DoesCardNumberExist(userBankInfo);
  455. Assert.IsFalse(CardNumberExists);
  456. }
  457.  
  458.  
  459.  
  460.  
  461.  
  462. [Test]
  463. public void WithdrawDeposit_AssertBalanceGetsUpdatedProperly()
  464. {
  465. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  466. userBankInfo.Balance = 10;
  467. this.bankService.WithdrawDeposit(userBankInfo);
  468. UserBankInfo userBankInfoTest = this.bankService.LogInUserInto1stTable(userBankInfo.Card_number);
  469. Assert.AreEqual(userBankInfo.Balance, userBankInfoTest.Balance);
  470.  
  471. using (BankContext context = new BankContext())
  472. {
  473. context.Remove(userInfo);
  474. context.Remove(userBankInfo);
  475. context.Remove(creditBooleanInfo);
  476. context.Remove(userIBANInfo);
  477. context.SaveChanges();
  478. }
  479. }
  480.  
  481.  
  482.  
  483.  
  484.  
  485. [Test]
  486. public void Transfer_AssertSendingBalanceGetsUpdatedProperly()
  487. {
  488. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  489.  
  490. string egn = CreateRandomEGN();
  491. string card_number = this.bankService.CreateRandomCardNumber();
  492. string iban = this.bankService.CreateRandomIBAN();
  493. UserInfo userInfoReceiving = new UserInfo(egn, "Martin", "Kulev", "[email protected]");
  494. UserBankInfo userBankInfoReceiving = new UserBankInfo(card_number, "2006", userInfoReceiving.EGN, iban);
  495. CreditBooleanInfo creditBooleanInfoReceiving = new CreditBooleanInfo(userBankInfoReceiving.Card_number, false);
  496. UserIBANInfo userIBANInfoReceiving = new UserIBANInfo(userBankInfoReceiving.IBAN);
  497. this.bankService.RegisterUser(userInfoReceiving, userBankInfoReceiving, creditBooleanInfoReceiving, userIBANInfoReceiving);
  498.  
  499. userBankInfo.Balance = 15;
  500. double balance = userBankInfo.Balance;
  501. this.bankService.WithdrawDeposit(userBankInfo);
  502. double transferAmount = 10;
  503. userBankInfo.Balance = this.bankService.Transfer(userBankInfo, userBankInfoReceiving.IBAN, transferAmount);
  504.  
  505. Assert.AreEqual(balance - transferAmount, userBankInfo.Balance);
  506.  
  507. using (BankContext context = new BankContext())
  508. {
  509. context.Remove(userInfo);
  510. context.Remove(userBankInfo);
  511. context.Remove(creditBooleanInfo);
  512. context.Remove(userIBANInfo);
  513. context.Remove(userInfoReceiving);
  514. context.Remove(userBankInfoReceiving);
  515. context.Remove(creditBooleanInfoReceiving);
  516. context.Remove(userIBANInfoReceiving);
  517. context.SaveChanges();
  518. }
  519. }
  520.  
  521. [Test]
  522. public void Transfer_AssertLocalBalanceEqualsDBBalance()
  523. {
  524. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  525.  
  526. string egn = CreateRandomEGN();
  527. string card_number = this.bankService.CreateRandomCardNumber();
  528. string iban = this.bankService.CreateRandomIBAN();
  529. UserInfo userInfoReceiving = new UserInfo(egn, "Martin", "Kulev", "[email protected]");
  530. UserBankInfo userBankInfoReceiving = new UserBankInfo(card_number, "2006", userInfoReceiving.EGN, iban);
  531. CreditBooleanInfo creditBooleanInfoReceiving = new CreditBooleanInfo(userBankInfoReceiving.Card_number, false);
  532. UserIBANInfo userIBANInfoReceiving = new UserIBANInfo(userBankInfoReceiving.IBAN);
  533. this.bankService.RegisterUser(userInfoReceiving, userBankInfoReceiving, creditBooleanInfoReceiving, userIBANInfoReceiving);
  534.  
  535. userBankInfo.Balance = 15;
  536. double balance = userBankInfo.Balance;
  537. this.bankService.WithdrawDeposit(userBankInfo);
  538. double transferAmount = 10;
  539. userBankInfo.Balance = this.bankService.Transfer(userBankInfo, userBankInfoReceiving.IBAN, transferAmount);
  540. UserBankInfo userBankInfoTest = this.bankService.LogInUserInto1stTable(userBankInfo.Card_number);
  541.  
  542. Assert.AreEqual(userBankInfo.Balance, userBankInfoTest.Balance);
  543.  
  544. using (BankContext context = new BankContext())
  545. {
  546. context.Remove(userInfo);
  547. context.Remove(userBankInfo);
  548. context.Remove(creditBooleanInfo);
  549. context.Remove(userIBANInfo);
  550. context.Remove(userInfoReceiving);
  551. context.Remove(userBankInfoReceiving);
  552. context.Remove(creditBooleanInfoReceiving);
  553. context.Remove(userIBANInfoReceiving);
  554. context.SaveChanges();
  555. }
  556. }
  557.  
  558. [Test]
  559. public void Transfer_AssertReceivingBalanceGetsUpdatedProperly()
  560. {
  561. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  562.  
  563. string egn = CreateRandomEGN();
  564. string card_number = this.bankService.CreateRandomCardNumber();
  565. string iban = this.bankService.CreateRandomIBAN();
  566. UserInfo userInfoReceiving = new UserInfo(egn, "Martin", "Kulev", "[email protected]");
  567. UserBankInfo userBankInfoReceiving = new UserBankInfo(card_number, "2006", userInfoReceiving.EGN, iban);
  568. CreditBooleanInfo creditBooleanInfoReceiving = new CreditBooleanInfo(userBankInfoReceiving.Card_number, false);
  569. UserIBANInfo userIBANInfoReceiving = new UserIBANInfo(userBankInfoReceiving.IBAN);
  570. this.bankService.RegisterUser(userInfoReceiving, userBankInfoReceiving, creditBooleanInfoReceiving, userIBANInfoReceiving);
  571.  
  572. userBankInfo.Balance = 15;
  573. this.bankService.WithdrawDeposit(userBankInfo);
  574. double transferAmount = 10;
  575. this.bankService.Transfer(userBankInfo, userBankInfoReceiving.IBAN, transferAmount);
  576. userBankInfoReceiving = this.bankService.LogInUserInto1stTable(userBankInfoReceiving.Card_number);
  577.  
  578. Assert.AreEqual(transferAmount, userBankInfoReceiving.Balance);
  579.  
  580. using (BankContext context = new BankContext())
  581. {
  582. context.Remove(userInfo);
  583. context.Remove(userBankInfo);
  584. context.Remove(creditBooleanInfo);
  585. context.Remove(userIBANInfo);
  586. context.Remove(userInfoReceiving);
  587. context.Remove(userBankInfoReceiving);
  588. context.Remove(creditBooleanInfoReceiving);
  589. context.Remove(userIBANInfoReceiving);
  590. context.SaveChanges();
  591. }
  592. }
  593.  
  594.  
  595.  
  596.  
  597.  
  598. [Test]
  599. public void DoesIBANExist_AssertIBANReturnsTrueWhenExists()
  600. {
  601. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  602. bool ibanExists = this.bankService.DoesIBANExist(userIBANInfo);
  603. Assert.IsTrue(ibanExists);
  604.  
  605. using (BankContext context = new BankContext())
  606. {
  607. context.Remove(userInfo);
  608. context.Remove(userBankInfo);
  609. context.Remove(creditBooleanInfo);
  610. context.Remove(userIBANInfo);
  611. context.SaveChanges();
  612. }
  613. }
  614.  
  615. [Test]
  616. public void DoesIBANExist_AssertIBANReturnsFalseWhenNotExist()
  617. {
  618. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  619.  
  620. using (BankContext context = new BankContext())
  621. {
  622. context.Remove(userInfo);
  623. context.Remove(userBankInfo);
  624. context.Remove(creditBooleanInfo);
  625. context.Remove(userIBANInfo);
  626. context.SaveChanges();
  627. }
  628.  
  629. bool ibanExists = this.bankService.DoesIBANExist(userIBANInfo);
  630. Assert.IsFalse(ibanExists);
  631. }
  632.  
  633.  
  634.  
  635.  
  636.  
  637. [Test]
  638. public void CalculateCreditDateInfos_AssertTakenDateIsTodayDate()
  639. {
  640. DateTime currentDate = DateTime.Now.Date;
  641. int creditChoice = 1;
  642. CreditDateInfo creditDateInfoTest = this.bankService.CalculateCreditDateInfos(creditChoice, userBankInfo.Card_number);
  643. Assert.AreEqual(currentDate.ToString("yyyy-MM-dd"), creditDateInfoTest.Credit_taken_date);
  644. }
  645.  
  646. [Test]
  647. public void CalculateCreditDateInfos_AssertToReturnDateIs1YearWhenCreditChoice1()
  648. {
  649. DateTime currentDate = DateTime.Now.Date;
  650. DateTime dateAfterOneYear = currentDate.AddYears(1);
  651. int creditChoice = 1;
  652. CreditDateInfo creditDateInfoTest = this.bankService.CalculateCreditDateInfos(creditChoice, userBankInfo.Card_number);
  653. Assert.AreEqual(dateAfterOneYear.ToString("yyyy-MM-dd"), creditDateInfoTest.Credit_toReturn_date);
  654. }
  655.  
  656. [Test]
  657. public void CalculateCreditDateInfos_AssertToReturnDateIs6MonthsWhenCreditChoice2()
  658. {
  659. DateTime currentDate = DateTime.Now.Date;
  660. DateTime dateAfterSixMonths = currentDate.AddMonths(6);
  661. int creditChoice = 2;
  662. CreditDateInfo creditDateInfoTest = this.bankService.CalculateCreditDateInfos(creditChoice, userBankInfo.Card_number);
  663. Assert.AreEqual(dateAfterSixMonths.ToString("yyyy-MM-dd"), creditDateInfoTest.Credit_toReturn_date);
  664. }
  665.  
  666. [Test]
  667. public void CalculateCreditDateInfos_AssertToReturnDateIs3MonthsWhenCreditChoice3()
  668. {
  669. DateTime currentDate = DateTime.Now.Date;
  670. DateTime dateAfterThreeMonths = currentDate.AddMonths(3);
  671. int creditChoice = 3;
  672. CreditDateInfo creditDateInfoTest = this.bankService.CalculateCreditDateInfos(creditChoice, userBankInfo.Card_number);
  673. Assert.AreEqual(dateAfterThreeMonths.ToString("yyyy-MM-dd"), creditDateInfoTest.Credit_toReturn_date);
  674. }
  675.  
  676. [Test]
  677. public void CalculateCreditDateInfos_AssertCardNumberIsReturnedCorrectly()
  678. {
  679. int creditChoice = 1;
  680. CreditDateInfo creditDateInfoTest = this.bankService.CalculateCreditDateInfos(creditChoice, userBankInfo.Card_number);
  681. Assert.AreEqual(userBankInfo.Card_number, creditDateInfoTest.Card_number);
  682. }
  683.  
  684.  
  685.  
  686.  
  687.  
  688. [Test]
  689. public void CalculateCreditMoneyInfos_AssertBalanceGetsIncreasedBy500WhenCreditChoice2()
  690. {
  691. int creditChoice = 2;
  692. double currentBalance = userBankInfo.Balance;
  693. CreditMoneyInfo creditMoneyInfoTest = this.bankService.CalculateCreditMoneyInfos(creditChoice, userBankInfo.Card_number);
  694. Assert.AreEqual(currentBalance + 500, creditMoneyInfoTest.Credit_amount);
  695. }
  696.  
  697. [Test]
  698. public void CalculateCreditMoneyInfos_AssertBalanceGetsIncreasedBy250WhenCreditChoice3()
  699. {
  700. int creditChoice = 3;
  701. double currentBalance = userBankInfo.Balance;
  702. CreditMoneyInfo creditMoneyInfoTest = this.bankService.CalculateCreditMoneyInfos(creditChoice, userBankInfo.Card_number);
  703. Assert.AreEqual(currentBalance + 250, creditMoneyInfoTest.Credit_amount);
  704. }
  705.  
  706. [Test]
  707. public void CalculateCreditMoneyInfos_AssertInterestIsCorrectWhenCreditChoice1()
  708. {
  709. int creditChoice = 1;
  710. double interest = 0.03;
  711. CreditMoneyInfo creditMoneyInfoTest = this.bankService.CalculateCreditMoneyInfos(creditChoice, userBankInfo.Card_number);
  712. Assert.AreEqual(interest, creditMoneyInfoTest.Credit_interest);
  713. }
  714.  
  715. [Test]
  716. public void CalculateCreditMoneyInfos_AssertInterestIsCorrectWhenCreditChoice2()
  717. {
  718. int creditChoice = 2;
  719. double interest = 0.04;
  720. CreditMoneyInfo creditMoneyInfoTest = this.bankService.CalculateCreditMoneyInfos(creditChoice, userBankInfo.Card_number);
  721. Assert.AreEqual(interest, creditMoneyInfoTest.Credit_interest);
  722. }
  723.  
  724. [Test]
  725. public void CalculateCreditMoneyInfos_AssertInterestIsCorrectWhenCreditChoice3()
  726. {
  727. int creditChoice = 3;
  728. double interest = 0.05;
  729. CreditMoneyInfo creditMoneyInfoTest = this.bankService.CalculateCreditMoneyInfos(creditChoice, userBankInfo.Card_number);
  730. Assert.AreEqual(interest, creditMoneyInfoTest.Credit_interest);
  731. }
  732.  
  733. [Test]
  734. public void CalculateCreditMoneyInfos_AssertToBePaidIsCalculatedCorrectlyWhenCreditChoice1()
  735. {
  736. int creditChoice = 1;
  737. double interest = 0.03;
  738. double amount = 1000;
  739. double toBePaid = amount + (interest * amount);
  740. CreditMoneyInfo creditMoneyInfoTest = this.bankService.CalculateCreditMoneyInfos(creditChoice, userBankInfo.Card_number);
  741. Assert.AreEqual(toBePaid, creditMoneyInfoTest.Credit_ToBePaid);
  742. }
  743.  
  744. [Test]
  745. public void CalculateCreditMoneyInfos_AssertToBePaidIsCalculatedCorrectlyWhenCreditChoice2()
  746. {
  747. int creditChoice = 2;
  748. double interest = 0.04;
  749. double amount = 500;
  750. double toBePaid = amount + (interest * amount);
  751. CreditMoneyInfo creditMoneyInfoTest = this.bankService.CalculateCreditMoneyInfos(creditChoice, userBankInfo.Card_number);
  752. Assert.AreEqual(toBePaid, creditMoneyInfoTest.Credit_ToBePaid);
  753. }
  754.  
  755. [Test]
  756. public void CalculateCreditMoneyInfos_AssertToBePaidIsCalculatedCorrectlyWhenCreditChoice3()
  757. {
  758. int creditChoice = 3;
  759. double interest = 0.05;
  760. double amount = 250;
  761. double toBePaid = amount + (interest * amount);
  762. CreditMoneyInfo creditMoneyInfoTest = this.bankService.CalculateCreditMoneyInfos(creditChoice, userBankInfo.Card_number);
  763. Assert.AreEqual(toBePaid, creditMoneyInfoTest.Credit_ToBePaid);
  764. }
  765.  
  766. [Test]
  767. public void CalculateCreditMoneyInfos_AssertCardNumberIsReturnedCorrectly()
  768. {
  769. int creditChoice = 3;
  770. string card_number = userBankInfo.Card_number;
  771. CreditMoneyInfo creditMoneyInfoTest = this.bankService.CalculateCreditMoneyInfos(creditChoice, userBankInfo.Card_number);
  772. Assert.AreEqual(card_number, creditMoneyInfoTest.Card_number);
  773. }
  774.  
  775.  
  776.  
  777.  
  778.  
  779. [Test]
  780. public void TakeCredit_AssertCardNumberUserBankInfosIsSentToDBCorrectly()
  781. {
  782. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  783. userBankInfo.Balance = 1000;
  784. this.bankService.TakeCredit(userBankInfo, creditBooleanInfo, creditDateInfo, creditMoneyInfo);
  785. using (BankContext context = new BankContext())
  786. {
  787. UserBankInfo userBankInfoTest = context.UserBankInfos.FirstOrDefault(p => p.Card_number == userBankInfo.Card_number);
  788. Assert.AreEqual(userBankInfo.Card_number, userBankInfoTest.Card_number);
  789. }
  790. using (BankContext context = new BankContext())
  791. {
  792. context.Remove(userInfo);
  793. context.Remove(userBankInfo);
  794. context.Remove(creditBooleanInfo);
  795. context.Remove(creditDateInfo);
  796. context.Remove(creditMoneyInfo);
  797. context.Remove(userIBANInfo);
  798. context.SaveChanges();
  799. }
  800. }
  801.  
  802. [Test]
  803. public void TakeCredit_AssertPINUserBankInfosIsSentToDBCorrectly()
  804. {
  805. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  806. userBankInfo.Balance = 1000;
  807. this.bankService.TakeCredit(userBankInfo, creditBooleanInfo, creditDateInfo, creditMoneyInfo);
  808. using (BankContext context = new BankContext())
  809. {
  810. UserBankInfo userBankInfoTest = context.UserBankInfos.FirstOrDefault(p => p.Card_number == userBankInfo.Card_number);
  811. Assert.AreEqual(userBankInfo.PIN, userBankInfoTest.PIN);
  812. }
  813. using (BankContext context = new BankContext())
  814. {
  815. context.Remove(userInfo);
  816. context.Remove(userBankInfo);
  817. context.Remove(creditBooleanInfo);
  818. context.Remove(creditDateInfo);
  819. context.Remove(creditMoneyInfo);
  820. context.Remove(userIBANInfo);
  821. context.SaveChanges();
  822. }
  823. }
  824.  
  825. [Test]
  826. public void TakeCredit_AssertIBANUserBankInfosIsSentToDBCorrectly()
  827. {
  828. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  829. userBankInfo.Balance = 1000;
  830. this.bankService.TakeCredit(userBankInfo, creditBooleanInfo, creditDateInfo, creditMoneyInfo);
  831. using (BankContext context = new BankContext())
  832. {
  833. UserBankInfo userBankInfoTest = context.UserBankInfos.FirstOrDefault(p => p.Card_number == userBankInfo.Card_number);
  834. Assert.AreEqual(userBankInfo.IBAN, userBankInfoTest.IBAN);
  835. }
  836. using (BankContext context = new BankContext())
  837. {
  838. context.Remove(userInfo);
  839. context.Remove(userBankInfo);
  840. context.Remove(creditBooleanInfo);
  841. context.Remove(creditDateInfo);
  842. context.Remove(creditMoneyInfo);
  843. context.Remove(userIBANInfo);
  844. context.SaveChanges();
  845. }
  846. }
  847.  
  848. [Test]
  849. public void TakeCredit_AssertEGNUserBankInfosIsSentToDBCorrectly()
  850. {
  851. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  852. userBankInfo.Balance = 1000;
  853. this.bankService.TakeCredit(userBankInfo, creditBooleanInfo, creditDateInfo, creditMoneyInfo);
  854. using (BankContext context = new BankContext())
  855. {
  856. UserBankInfo userBankInfoTest = context.UserBankInfos.FirstOrDefault(p => p.Card_number == userBankInfo.Card_number);
  857. Assert.AreEqual(userBankInfo.EGN, userBankInfoTest.EGN);
  858. }
  859. using (BankContext context = new BankContext())
  860. {
  861. context.Remove(userInfo);
  862. context.Remove(userBankInfo);
  863. context.Remove(creditBooleanInfo);
  864. context.Remove(creditDateInfo);
  865. context.Remove(creditMoneyInfo);
  866. context.Remove(userIBANInfo);
  867. context.SaveChanges();
  868. }
  869. }
  870.  
  871. [Test]
  872. public void TakeCredit_AssertBalanceUserBankInfosIsSentToDBCorrectly()
  873. {
  874. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  875. userBankInfo.Balance = 1000;
  876. this.bankService.TakeCredit(userBankInfo, creditBooleanInfo, creditDateInfo, creditMoneyInfo);
  877. using (BankContext context = new BankContext())
  878. {
  879. UserBankInfo userBankInfoTest = context.UserBankInfos.FirstOrDefault(p => p.Card_number == userBankInfo.Card_number);
  880. Assert.AreEqual(userBankInfo.Balance, userBankInfoTest.Balance);
  881. }
  882. using (BankContext context = new BankContext())
  883. {
  884. context.Remove(userInfo);
  885. context.Remove(userBankInfo);
  886. context.Remove(creditBooleanInfo);
  887. context.Remove(creditDateInfo);
  888. context.Remove(creditMoneyInfo);
  889. context.Remove(userIBANInfo);
  890. context.SaveChanges();
  891. }
  892. }
  893.  
  894. [Test]
  895. public void TakeCredit_AssertCardNumberCreditBooleanInfosIsSentToDBCorrectly()
  896. {
  897. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  898. userBankInfo.Balance = 1000;
  899. this.bankService.TakeCredit(userBankInfo, creditBooleanInfo, creditDateInfo, creditMoneyInfo);
  900. using (BankContext context = new BankContext())
  901. {
  902. CreditBooleanInfo creditBooleanInfoTest = context.CreditBooleanInfos.FirstOrDefault(p => p.Card_number == creditBooleanInfo.Card_number);
  903. Assert.AreEqual(creditBooleanInfo.Card_number, creditBooleanInfoTest.Card_number);
  904. }
  905. using (BankContext context = new BankContext())
  906. {
  907. context.Remove(userInfo);
  908. context.Remove(userBankInfo);
  909. context.Remove(creditBooleanInfo);
  910. context.Remove(creditDateInfo);
  911. context.Remove(creditMoneyInfo);
  912. context.Remove(userIBANInfo);
  913. context.SaveChanges();
  914. }
  915. }
  916.  
  917. [Test]
  918. public void TakeCredit_AssertHasTakenCreditCreditBooleanInfosIsSentToDBCorrectly()
  919. {
  920. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  921. userBankInfo.Balance = 1000;
  922. this.bankService.TakeCredit(userBankInfo, creditBooleanInfo, creditDateInfo, creditMoneyInfo);
  923. using (BankContext context = new BankContext())
  924. {
  925. CreditBooleanInfo creditBooleanInfoTest = context.CreditBooleanInfos.FirstOrDefault(p => p.Card_number == creditBooleanInfo.Card_number);
  926. Assert.AreEqual(creditBooleanInfo.Has_taken_credit, creditBooleanInfoTest.Has_taken_credit);
  927. }
  928. using (BankContext context = new BankContext())
  929. {
  930. context.Remove(userInfo);
  931. context.Remove(userBankInfo);
  932. context.Remove(creditBooleanInfo);
  933. context.Remove(creditDateInfo);
  934. context.Remove(creditMoneyInfo);
  935. context.Remove(userIBANInfo);
  936. context.SaveChanges();
  937. }
  938. }
  939.  
  940. [Test]
  941. public void TakeCredit_AssertCreditDateInfosIsAdded()
  942. {
  943. userBankInfo.Balance = 1000;
  944. this.bankService.TakeCredit(userBankInfo, creditBooleanInfo, creditDateInfo, creditMoneyInfo);
  945. using (BankContext context = new BankContext())
  946. {
  947. Assert.IsTrue(context.CreditDateInfos.Contains(creditDateInfo));
  948. }
  949. using (BankContext context = new BankContext())
  950. {
  951. context.Remove(userInfo);
  952. context.Remove(userBankInfo);
  953. context.Remove(creditBooleanInfo);
  954. context.Remove(creditDateInfo);
  955. context.Remove(creditMoneyInfo);
  956. context.Remove(userIBANInfo);
  957. context.SaveChanges();
  958. }
  959. }
  960.  
  961. [Test]
  962. public void TakeCredit_AssertCreditMoneyInfosIsAdded()
  963. {
  964. userBankInfo.Balance = 1000;
  965. this.bankService.TakeCredit(userBankInfo, creditBooleanInfo, creditDateInfo, creditMoneyInfo);
  966. using (BankContext context = new BankContext())
  967. {
  968. Assert.IsTrue(context.CreditMoneyInfos.Contains(creditMoneyInfo));
  969. }
  970. using (BankContext context = new BankContext())
  971. {
  972. context.Remove(userInfo);
  973. context.Remove(userBankInfo);
  974. context.Remove(creditBooleanInfo);
  975. context.Remove(creditDateInfo);
  976. context.Remove(creditMoneyInfo);
  977. context.Remove(userIBANInfo);
  978. context.SaveChanges();
  979. }
  980. }
  981.  
  982.  
  983.  
  984.  
  985.  
  986. [Test]
  987. public void PayCredit_AssertCardNumberUserBankInfosIsSentToDBCorrectly()
  988. {
  989. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  990. userBankInfo.Balance = 1000;
  991. this.bankService.PayCredit(userBankInfo, creditBooleanInfo, creditDateInfo, creditMoneyInfo);
  992. using (BankContext context = new BankContext())
  993. {
  994. UserBankInfo userBankInfoTest = context.UserBankInfos.FirstOrDefault(p => p.Card_number == userBankInfo.Card_number);
  995. Assert.AreEqual(userBankInfo.Card_number, userBankInfoTest.Card_number);
  996. }
  997. using (BankContext context = new BankContext())
  998. {
  999. context.Remove(userInfo);
  1000. context.Remove(userBankInfo);
  1001. context.Remove(creditBooleanInfo);
  1002. context.Remove(creditDateInfo);
  1003. context.Remove(creditMoneyInfo);
  1004. context.Remove(userIBANInfo);
  1005. context.SaveChanges();
  1006. }
  1007. }
  1008.  
  1009. [Test]
  1010. public void PayCredit_AssertPINUserBankInfosIsSentToDBCorrectly()
  1011. {
  1012. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  1013. userBankInfo.Balance = 1000;
  1014. this.bankService.PayCredit(userBankInfo, creditBooleanInfo, creditDateInfo, creditMoneyInfo);
  1015. using (BankContext context = new BankContext())
  1016. {
  1017. UserBankInfo userBankInfoTest = context.UserBankInfos.FirstOrDefault(p => p.Card_number == userBankInfo.Card_number);
  1018. Assert.AreEqual(userBankInfo.PIN, userBankInfoTest.PIN);
  1019. }
  1020. using (BankContext context = new BankContext())
  1021. {
  1022. context.Remove(userInfo);
  1023. context.Remove(userBankInfo);
  1024. context.Remove(creditBooleanInfo);
  1025. context.Remove(creditDateInfo);
  1026. context.Remove(creditMoneyInfo);
  1027. context.Remove(userIBANInfo);
  1028. context.SaveChanges();
  1029. }
  1030. }
  1031.  
  1032. [Test]
  1033. public void PayCredit_AssertIBANUserBankInfosIsSentToDBCorrectly()
  1034. {
  1035. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  1036. userBankInfo.Balance = 1000;
  1037. this.bankService.PayCredit(userBankInfo, creditBooleanInfo, creditDateInfo, creditMoneyInfo);
  1038. using (BankContext context = new BankContext())
  1039. {
  1040. UserBankInfo userBankInfoTest = context.UserBankInfos.FirstOrDefault(p => p.Card_number == userBankInfo.Card_number);
  1041. Assert.AreEqual(userBankInfo.IBAN, userBankInfoTest.IBAN);
  1042. }
  1043. using (BankContext context = new BankContext())
  1044. {
  1045. context.Remove(userInfo);
  1046. context.Remove(userBankInfo);
  1047. context.Remove(creditBooleanInfo);
  1048. context.Remove(creditDateInfo);
  1049. context.Remove(creditMoneyInfo);
  1050. context.Remove(userIBANInfo);
  1051. context.SaveChanges();
  1052. }
  1053. }
  1054.  
  1055. [Test]
  1056. public void PayCredit_AssertEGNUserBankInfosIsSentToDBCorrectly()
  1057. {
  1058. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  1059. userBankInfo.Balance = 1000;
  1060. this.bankService.PayCredit(userBankInfo, creditBooleanInfo, creditDateInfo, creditMoneyInfo);
  1061. using (BankContext context = new BankContext())
  1062. {
  1063. UserBankInfo userBankInfoTest = context.UserBankInfos.FirstOrDefault(p => p.Card_number == userBankInfo.Card_number);
  1064. Assert.AreEqual(userBankInfo.EGN, userBankInfoTest.EGN);
  1065. }
  1066. using (BankContext context = new BankContext())
  1067. {
  1068. context.Remove(userInfo);
  1069. context.Remove(userBankInfo);
  1070. context.Remove(creditBooleanInfo);
  1071. context.Remove(creditDateInfo);
  1072. context.Remove(creditMoneyInfo);
  1073. context.Remove(userIBANInfo);
  1074. context.SaveChanges();
  1075. }
  1076. }
  1077.  
  1078. [Test]
  1079. public void PayCredit_AssertBalanceUserBankInfosIsSentToDBCorrectly()
  1080. {
  1081. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  1082. userBankInfo.Balance = 1000;
  1083. this.bankService.PayCredit(userBankInfo, creditBooleanInfo, creditDateInfo, creditMoneyInfo);
  1084. using (BankContext context = new BankContext())
  1085. {
  1086. UserBankInfo userBankInfoTest = context.UserBankInfos.FirstOrDefault(p => p.Card_number == userBankInfo.Card_number);
  1087. Assert.AreEqual(userBankInfo.Balance, userBankInfoTest.Balance);
  1088. }
  1089. using (BankContext context = new BankContext())
  1090. {
  1091. context.Remove(userInfo);
  1092. context.Remove(userBankInfo);
  1093. context.Remove(creditBooleanInfo);
  1094. context.Remove(creditDateInfo);
  1095. context.Remove(creditMoneyInfo);
  1096. context.Remove(userIBANInfo);
  1097. context.SaveChanges();
  1098. }
  1099. }
  1100.  
  1101. [Test]
  1102. public void PayCredit_AssertCardNumberCreditBooleanInfosIsSentToDBCorrectly()
  1103. {
  1104. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  1105. userBankInfo.Balance = 1000;
  1106. this.bankService.PayCredit(userBankInfo, creditBooleanInfo, creditDateInfo, creditMoneyInfo);
  1107. using (BankContext context = new BankContext())
  1108. {
  1109. CreditBooleanInfo creditBooleanInfoTest = context.CreditBooleanInfos.FirstOrDefault(p => p.Card_number == creditBooleanInfo.Card_number);
  1110. Assert.AreEqual(creditBooleanInfo.Card_number, creditBooleanInfoTest.Card_number);
  1111. }
  1112. using (BankContext context = new BankContext())
  1113. {
  1114. context.Remove(userInfo);
  1115. context.Remove(userBankInfo);
  1116. context.Remove(creditBooleanInfo);
  1117. context.Remove(creditDateInfo);
  1118. context.Remove(creditMoneyInfo);
  1119. context.Remove(userIBANInfo);
  1120. context.SaveChanges();
  1121. }
  1122. }
  1123.  
  1124. [Test]
  1125. public void PayCredit_AssertHasTakenCreditCreditBooleanInfosIsSentToDBCorrectly()
  1126. {
  1127. this.bankService.RegisterUser(userInfo, userBankInfo, creditBooleanInfo, userIBANInfo);
  1128. userBankInfo.Balance = 1000;
  1129. this.bankService.PayCredit(userBankInfo, creditBooleanInfo, creditDateInfo, creditMoneyInfo);
  1130. using (BankContext context = new BankContext())
  1131. {
  1132. CreditBooleanInfo creditBooleanInfoTest = context.CreditBooleanInfos.FirstOrDefault(p => p.Card_number == creditBooleanInfo.Card_number);
  1133. Assert.AreEqual(creditBooleanInfo.Has_taken_credit, creditBooleanInfoTest.Has_taken_credit);
  1134. }
  1135. using (BankContext context = new BankContext())
  1136. {
  1137. context.Remove(userInfo);
  1138. context.Remove(userBankInfo);
  1139. context.Remove(creditBooleanInfo);
  1140. context.Remove(creditDateInfo);
  1141. context.Remove(creditMoneyInfo);
  1142. context.Remove(userIBANInfo);
  1143. context.SaveChanges();
  1144. }
  1145. }
  1146.  
  1147. [Test]
  1148. public void PayCredit_AssertCreditDateInfosIsAdded()
  1149. {
  1150. userBankInfo.Balance = 1000;
  1151. this.bankService.PayCredit(userBankInfo, creditBooleanInfo, creditDateInfo, creditMoneyInfo);
  1152. using (BankContext context = new BankContext())
  1153. {
  1154. Assert.IsFalse(context.CreditDateInfos.Contains(creditDateInfo));
  1155. }
  1156. using (BankContext context = new BankContext())
  1157. {
  1158. context.Remove(userInfo);
  1159. context.Remove(userBankInfo);
  1160. context.Remove(creditBooleanInfo);
  1161. context.Remove(creditDateInfo);
  1162. context.Remove(creditMoneyInfo);
  1163. context.Remove(userIBANInfo);
  1164. context.SaveChanges();
  1165. }
  1166. }
  1167.  
  1168. [Test]
  1169. public void PayCredit_AssertCreditMoneyInfosIsAdded()
  1170. {
  1171. userBankInfo.Balance = 1000;
  1172. this.bankService.PayCredit(userBankInfo, creditBooleanInfo, creditDateInfo, creditMoneyInfo);
  1173. using (BankContext context = new BankContext())
  1174. {
  1175. Assert.IsFalse(context.CreditMoneyInfos.Contains(creditMoneyInfo));
  1176. }
  1177. using (BankContext context = new BankContext())
  1178. {
  1179. context.Remove(userInfo);
  1180. context.Remove(userBankInfo);
  1181. context.Remove(creditBooleanInfo);
  1182. context.Remove(creditDateInfo);
  1183. context.Remove(creditMoneyInfo);
  1184. context.Remove(userIBANInfo);
  1185. context.SaveChanges();
  1186. }
  1187. }
  1188. }
  1189. }
  1190.  
  1191.  
  1192.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement