You need to sign in to do that
Don't have an account?
Topher Reynolds
Using the class below, I can't seem to get the DB updated. There are no errors being thrown, but update is not updating the deal from the unit test. Is there something wrong with this code?
public class Set45DayDeadlineFor1031Deal { // This method is called by the Set45DayDeadline process @InvocableMethod public static void SetDeadline(List<Id> X1031_DealsIds) { List<X1031_Deals__c> deals = new List<X1031_Deals__c>(); for(Id dealId : X1031_DealsIds){ // Query down to the children records (Property) filtered by Property Type = relinquished. // Out of remaining properties grab the_ +*_earliest_*+ *_“Relinquish Final Close of Escrow” date._* // This date will then have 45 days added to it and will be placed in the 1031 Deal Object’s *45 Day Deadline* List<Property__c> properties = [SELECT Id, Name, Relinquish_Final_Close_of_Escrow__c, X1031_Deal__c FROM Property__c WHERE X1031_Deal__c = :dealId AND Property_Type__c = 'Relinquished']; X1031_Deals__c deal = [SELECT Id, Name, X45_Day_Deadline__c, X1031_Client__c FROM X1031_Deals__c WHERE Id = :dealId][0]; if(properties.size() > 0){ // A default date to change Date deadline = Date.newInstance(2099, 1, 1); for(Property__c prop : properties){ Date propDate = prop.Relinquish_Final_Close_of_Escrow__c; if(propDate < deadLine){ deadline = propDate; } } deals.add(new X1031_Deals__c(Name='tested', X1031_Client__c=deal.X1031_Client__c)); deal.Id = dealId; deal.X45_Day_Deadline__c = deadline.addDays(45); deals.add(deal); System.debug(deal.X45_Day_Deadline__c); System.debug('Deals size is: ' + deals.size()); } } if(deals.size() > 0){ List<Database.SaveResult> results = Database.update(deals, false); for(Database.SaveResult result : results){ if(!result.isSuccess()){ for(Database.Error err : result.getErrors()){ System.debug('Error: ' + err.getStatusCode() + ' ' + err.getMessage()); } } } } } }
Herish Surendran
Once the Unit test is completed, all changes (DML statements) made by unit tests are rolled back.