Advertisement
XfreeBG

Untitled

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