Advertisement
nkarmi

Untitled

Aug 21st, 2018
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.92 KB | None | 0 0
  1. /**
  2. * Created by nkarmi on 8/20/2018.
  3. */
  4.  
  5. @IsTest
  6. private class TEST_DepositController {
  7. @testSetup static void setup() {
  8. RecordType objRecordType = [SELECT Id FROM RecordType WHERE DeveloperName = 'PersonAccount'];
  9. Id individualRecordTypeId = objRecordType.Id;
  10.  
  11. //Create Account
  12. Account personAccount = new Account(FirstName = 'Test', RecordTypeId = individualRecordTypeId,
  13. LastName = 'person', PersonBirthdate = Date.newInstance(1990, 12, 24),
  14. PersonEmail = 'personaccount@test.com', PersonTitle = 'Manager');
  15. insert personAccount;
  16. }
  17.  
  18. @isTest
  19. private static void testSaveDepositForFirstTime() {
  20. //SWIFT Data
  21. String swiftData = '65989564\n';
  22. swiftData += 'Test Test\n';
  23. swiftData += 'Test Address\n';
  24. swiftData += '5\n';
  25. String[] userInfo = swiftData.split('\n');
  26. userInfo.remove(0);
  27. //TOFES Data [0: Account Number, 1: Takboul Number, 2: Amount, 3: Currency]
  28. String [] tofesData = new String[4];
  29. tofesData[0] = '123456';
  30. tofesData[1] = '556644';
  31. tofesData[2] = '10000';
  32. tofesData[3] = 'USD';
  33.  
  34. Account objAccount = [SELECT Id, Name FROM Account WHERE PersonEmail = 'personaccount@test.com'];
  35. DepositLoaderController.saveDeposit(String.valueOf(objAccount.Id), swiftData, tofesData);
  36.  
  37. List<Transfer__c> transfers = [
  38. SELECT Id, Deposit_Account__c, Type__c, Amount__c, Status__c, Takbul_Num__c,
  39. Sender_Bank_Detail__c, Transfer_Date__c, AACI__c
  40. FROM Transfer__c
  41. WHERE Account__c = :objAccount.Id
  42. ];
  43. List<Deposit_Account__c> depositAccounts = [
  44. SELECT Id, Name, Currency__c, AACI__c
  45. FROM Deposit_Account__c
  46. WHERE Account__c = :objAccount.Id
  47. ];
  48. List<Bank_Details__c> bankDetails = [
  49. SELECT Id, Name, Payee__c, Sender_Recevier__c, Hide__c,
  50. Street_Address_Of_Receiver__c, Country__c, LoadedFROMTofes__c
  51. FROM Bank_Details__c
  52. WHERE Name = :userInfo[0].trim() + ' Sender Bank' AND Account__c = :objAccount.Id
  53. ];
  54. //Check Integrity Of Transfer Object
  55. System.assertEquals(transfers.size(), 1);
  56. System.assertEquals(transfers[0].Deposit_Account__c, depositAccounts[0].Id);
  57. System.assertEquals(transfers[0].Type__c, 'Deposit');
  58. System.assertEquals(transfers[0].Amount__c, Double.valueOf(tofesData[2].trim().replace(',', '')));
  59. System.assertEquals(transfers[0].Status__c, 'Pending');
  60. System.assertEquals(transfers[0].Takbul_Num__c, tofesData[1].trim());
  61. System.assertEquals(transfers[0].Sender_Bank_Detail__c, bankDetails[0].Id);
  62. System.assertEquals(transfers[0].Transfer_Date__c, System.today());
  63. System.assertEquals(transfers[0].AACI__c, false);
  64.  
  65. //Check Integrity Of Deposit Account Object
  66. System.assertEquals(depositAccounts[0].Name, objAccount.Name + ' - ' + tofesData[3]);
  67. System.assertEquals(depositAccounts[0].Currency__c, tofesData[3]);
  68. System.assertEquals(depositAccounts[0].AACI__c, false);
  69.  
  70. //Check Integrity Of Bank Detail Object
  71. System.assertEquals(bankDetails[0].Name, userInfo[0].trim() + ' Sender Bank');
  72. System.assertEquals(bankDetails[0].Payee__c, userInfo[0].trim());
  73. System.assertEquals(bankDetails[0].Sender_Recevier__c, 'Sender');
  74. System.assertEquals(bankDetails[0].Hide__c, true);
  75. System.assertEquals(bankDetails[0].Street_Address_Of_Receiver__c, userInfo[1].trim() + ' ' + (userInfo.size() > 2 ? userInfo[2].trim() : ''));
  76. System.assertEquals(bankDetails[0].Country__c, 'United States');
  77. System.assertEquals(bankDetails[0].LoadedFROMTofes__c, true);
  78. }
  79.  
  80. @isTest
  81. private static void testSaveDepositForSecondTime() {
  82. //SWIFT Data
  83. String swiftData = '2323\n';
  84. swiftData += 'Test Test\n';
  85. swiftData += 'Test Address\n';
  86. swiftData += '5\n';
  87. String[] userInfo = swiftData.split('\n');
  88. userInfo.remove(0);
  89.  
  90. //TOFES Data [0: Account Number, 1: Takboul Number, 2: Amount, 3: Currency]
  91. String [] tofesData = new String[4];
  92. tofesData[0] = '233949';
  93. tofesData[1] = '556644';
  94. tofesData[2] = '10000';
  95. tofesData[3] = 'USD';
  96. Account objAccount = [SELECT Id, Name FROM Account WHERE PersonEmail = 'personaccount@test.com'];
  97. DepositLoaderController.saveDeposit(String.valueOf(objAccount.Id), swiftData, tofesData);// First Call
  98.  
  99. DepositLoaderController.saveDeposit(String.valueOf(objAccount.Id), swiftData, tofesData);// Second Call
  100.  
  101. List<Transfer__c> transfers = [
  102. SELECT Id, Deposit_Account__c, AACI__c, Type__c, Amount__c, Status__c, Takbul_Num__c,
  103. Sender_Bank_Detail__c, Transfer_Date__c
  104. FROM Transfer__c
  105. WHERE Account__c = :objAccount.Id
  106. ];
  107. List<Deposit_Account__c> depositAccounts = [
  108. SELECT Id, Name, Currency__c, AACI__c
  109. FROM Deposit_Account__c
  110. WHERE Account__c = :objAccount.Id
  111. ];
  112. List<Bank_Details__c> bankDetails = [
  113. SELECT Id, Name, Payee__c, Sender_Recevier__c, Hide__c,
  114. Street_Address_Of_Receiver__c, Country__c, LoadedFROMTofes__c
  115. FROM Bank_Details__c
  116. WHERE Name = :userInfo[0].trim() + ' Sender Bank' AND Account__c = :objAccount.Id
  117. ];
  118.  
  119. System.assertEquals(depositAccounts[0].AACI__c, true);
  120. System.assertEquals(transfers[0].AACI__c, true);
  121. System.assertEquals(transfers.size(), 2);
  122. System.assertEquals(depositAccounts.size(), 1);
  123. System.assertEquals(bankDetails.size(), 1);
  124. }
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement