-
Notifications
You must be signed in to change notification settings - Fork 0
The MockCmdt.Repository Class
Jason Siders edited this page Aug 19, 2025
·
2 revisions
The MockCmdt.Repository class provides the interface for configuring mock Custom Metadata Type records. It allows in-memory storage and manipulation of Custom Metadata Type records without database operations.
This class is returned by MockCmdt.mock() and provides fluent methods for adding, removing, and clearing mock records in test scenarios. All methods return the repository instance, enabling fluent method chaining for complex setup scenarios.
@IsTest
static void testRepositoryOperations() {
DatabaseLayer.useMocks();
MySetting__mdt setting1 = new MySetting__mdt(DeveloperName = 'Setting_1');
MySetting__mdt setting2 = new MySetting__mdt(DeveloperName = 'Setting_2');
// Fluent method chaining for setup
MockCmdt.mock(MySetting__mdt.SObjectType)
?.clear()
?.add(setting1)
?.add(new List<MySetting__mdt>{ setting2 });
List<MySetting__mdt> allSettings = (List<MySetting__mdt>) DatabaseLayer.Cmdt
?.ofType(MySetting__mdt.SObjectType)
?.getAll();
Assert.areEqual(2, allSettings.size(), 'Should have 2 records');
// Remove one record
MockCmdt.mock(MySetting__mdt.SObjectType).remove(setting1);
allSettings = (List<MySetting__mdt>) DatabaseLayer.Cmdt
?.ofType(MySetting__mdt.SObjectType)
?.getAll();
Assert.areEqual(1, allSettings.size(), 'Should have 1 record after removal');
}Adds records to the mock repository. Supports adding a list of records, or a single record.
MockCmdt.Repository add(List<SObject> recordList)MockCmdt.Repository add(SObject record)
Removes all records from the mock repository.
MockCmdt.Repository clear()
Removes records from the mock repository. Supports removing by record key, by record object, by list of records, or by set of keys.
MockCmdt.Repository remove(Set<String> keys)MockCmdt.Repository remove(List<SObject> recordList)MockCmdt.Repository remove(SObject record)MockCmdt.Repository remove(String key)
- Generating Test Records
- Dml
- Soql
- Cmdt
- Plugins
- DatabaseLayer
- Dml
- MockDml
- MockRecord
- Cmdt
- MockCmdt
- MockSoql
-
Soql
- Soql.AggregateResult
- Soql.Aggregation
- Soql.Binder
- Soql.Builder
- Soql.Condition
- Soql.ConditionalLogic
- Soql.Criteria
- Soql.Cursor
- Soql.Function
- Soql.InnerQuery
- Soql.InvalidParameterValueException
- Soql.LogicType
- Soql.NullOrder
- Soql.Operation
- Soql.Operator
- Soql.ParentField
- Soql.PreAndPostProcessor
- Soql.QueryLocator
- Soql.Request
- Soql.Scope
- Soql.Selectable
- Soql.SortDirection
- Soql.SortOrder
- Soql.Subquery
- Soql.TypeOf
- Soql.Usage
- Soql.WhenClause