@isTest private class AddShipmentManuallyHandlerTest { static testMethod void test_createFedExShipments() { zkfedex__ShipmatePreference__c preference = new zkfedex__ShipmatePreference__c(); insert preference; ShipmentSettings__c shipmentSettings = new ShipmentSettings__c(); shipmentSettings.Name = 'FedEx'; shipmentSettings.Shipment_Preference_Id__c = preference.Id; insert shipmentSettings; String trackNumber = 'trackNumber'; Account acc = new Account(); acc.Name = 'Account'; insert acc; Order ord = new Order(); ord.FB_Tracking_Numbers__c = trackNumber; ord.AccountId = acc.Id; ord.Status = 'Draft'; ord.EffectiveDate = Date.today(); ord.FB_Carrier__c = 'FedEx'; Test.startTest(); insert ord; checkFedExShipmentExists(trackNumber, ord.EffectiveDate); ord.FB_Tracking_Numbers__c = trackNumber + '1'; update ord; checkFedExShipmentExists(trackNumber + '1', ord.EffectiveDate); Test.stopTest(); } private static void checkFedExShipmentExists(String trackNumber, Date shipDate){ List<zkfedex__Shipment__c> shipments = [ SELECT Id, zkfedex__MasterTrackingId__c, zkfedex__ShipDate__c FROM zkfedex__Shipment__c WHERE zkfedex__MasterTrackingId__c = :trackNumber AND zkfedex__ShipDate__c =: shipDate LIMIT 1 ]; System.assertEquals(1, shipments.size()); } }