Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Created by nkarmi on 8/20/2018.
- */
- @IsTest
- private class TEST_DepositController {
- @testSetup static void setup() {
- RecordType objRecordType = [SELECT Id FROM RecordType WHERE DeveloperName = 'PersonAccount'];
- Id individualRecordTypeId = objRecordType.Id;
- //Create Account
- Account personAccount = new Account(FirstName = 'Test', RecordTypeId = individualRecordTypeId,
- LastName = 'person', PersonBirthdate = Date.newInstance(1990, 12, 24),
- PersonEmail = 'personaccount@test.com', PersonTitle = 'Manager');
- insert personAccount;
- }
- @isTest
- private static void testSaveDepositForFirstTime() {
- //SWIFT Data
- String swiftData = '65989564\n';
- swiftData += 'Test Test\n';
- swiftData += 'Test Address\n';
- swiftData += '5\n';
- String[] userInfo = swiftData.split('\n');
- userInfo.remove(0);
- //TOFES Data [0: Account Number, 1: Takboul Number, 2: Amount, 3: Currency]
- String [] tofesData = new String[4];
- tofesData[0] = '123456';
- tofesData[1] = '556644';
- tofesData[2] = '10000';
- tofesData[3] = 'USD';
- Account objAccount = [SELECT Id, Name FROM Account WHERE PersonEmail = 'personaccount@test.com'];
- DepositLoaderController.saveDeposit(String.valueOf(objAccount.Id), swiftData, tofesData);
- List<Transfer__c> transfers = [
- SELECT Id, Deposit_Account__c, Type__c, Amount__c, Status__c, Takbul_Num__c,
- Sender_Bank_Detail__c, Transfer_Date__c, AACI__c
- FROM Transfer__c
- WHERE Account__c = :objAccount.Id
- ];
- List<Deposit_Account__c> depositAccounts = [
- SELECT Id, Name, Currency__c, AACI__c
- FROM Deposit_Account__c
- WHERE Account__c = :objAccount.Id
- ];
- List<Bank_Details__c> bankDetails = [
- SELECT Id, Name, Payee__c, Sender_Recevier__c, Hide__c,
- Street_Address_Of_Receiver__c, Country__c, LoadedFROMTofes__c
- FROM Bank_Details__c
- WHERE Name = :userInfo[0].trim() + ' Sender Bank' AND Account__c = :objAccount.Id
- ];
- //Check Integrity Of Transfer Object
- System.assertEquals(transfers.size(), 1);
- System.assertEquals(transfers[0].Deposit_Account__c, depositAccounts[0].Id);
- System.assertEquals(transfers[0].Type__c, 'Deposit');
- System.assertEquals(transfers[0].Amount__c, Double.valueOf(tofesData[2].trim().replace(',', '')));
- System.assertEquals(transfers[0].Status__c, 'Pending');
- System.assertEquals(transfers[0].Takbul_Num__c, tofesData[1].trim());
- System.assertEquals(transfers[0].Sender_Bank_Detail__c, bankDetails[0].Id);
- System.assertEquals(transfers[0].Transfer_Date__c, System.today());
- System.assertEquals(transfers[0].AACI__c, false);
- //Check Integrity Of Deposit Account Object
- System.assertEquals(depositAccounts[0].Name, objAccount.Name + ' - ' + tofesData[3]);
- System.assertEquals(depositAccounts[0].Currency__c, tofesData[3]);
- System.assertEquals(depositAccounts[0].AACI__c, false);
- //Check Integrity Of Bank Detail Object
- System.assertEquals(bankDetails[0].Name, userInfo[0].trim() + ' Sender Bank');
- System.assertEquals(bankDetails[0].Payee__c, userInfo[0].trim());
- System.assertEquals(bankDetails[0].Sender_Recevier__c, 'Sender');
- System.assertEquals(bankDetails[0].Hide__c, true);
- System.assertEquals(bankDetails[0].Street_Address_Of_Receiver__c, userInfo[1].trim() + ' ' + (userInfo.size() > 2 ? userInfo[2].trim() : ''));
- System.assertEquals(bankDetails[0].Country__c, 'United States');
- System.assertEquals(bankDetails[0].LoadedFROMTofes__c, true);
- }
- @isTest
- private static void testSaveDepositForSecondTime() {
- //SWIFT Data
- String swiftData = '2323\n';
- swiftData += 'Test Test\n';
- swiftData += 'Test Address\n';
- swiftData += '5\n';
- String[] userInfo = swiftData.split('\n');
- userInfo.remove(0);
- //TOFES Data [0: Account Number, 1: Takboul Number, 2: Amount, 3: Currency]
- String [] tofesData = new String[4];
- tofesData[0] = '233949';
- tofesData[1] = '556644';
- tofesData[2] = '10000';
- tofesData[3] = 'USD';
- Account objAccount = [SELECT Id, Name FROM Account WHERE PersonEmail = 'personaccount@test.com'];
- DepositLoaderController.saveDeposit(String.valueOf(objAccount.Id), swiftData, tofesData);// First Call
- DepositLoaderController.saveDeposit(String.valueOf(objAccount.Id), swiftData, tofesData);// Second Call
- List<Transfer__c> transfers = [
- SELECT Id, Deposit_Account__c, AACI__c, Type__c, Amount__c, Status__c, Takbul_Num__c,
- Sender_Bank_Detail__c, Transfer_Date__c
- FROM Transfer__c
- WHERE Account__c = :objAccount.Id
- ];
- List<Deposit_Account__c> depositAccounts = [
- SELECT Id, Name, Currency__c, AACI__c
- FROM Deposit_Account__c
- WHERE Account__c = :objAccount.Id
- ];
- List<Bank_Details__c> bankDetails = [
- SELECT Id, Name, Payee__c, Sender_Recevier__c, Hide__c,
- Street_Address_Of_Receiver__c, Country__c, LoadedFROMTofes__c
- FROM Bank_Details__c
- WHERE Name = :userInfo[0].trim() + ' Sender Bank' AND Account__c = :objAccount.Id
- ];
- System.assertEquals(depositAccounts[0].AACI__c, true);
- System.assertEquals(transfers[0].AACI__c, true);
- System.assertEquals(transfers.size(), 2);
- System.assertEquals(depositAccounts.size(), 1);
- System.assertEquals(bankDetails.size(), 1);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement