Skip to content

Instantly share code, notes, and snippets.

@IsTest(IsParallel =false) // ContentWorkspace
public class InsertContentDocumentLinkTest {
@IsTest
static void do_a_thing() {
CollaborationGroup unlistedGroup = new CollaborationGroup(
Name = 'Unlisted',
CollaborationType = 'Unlisted'
);
insert unlistedGroup;
@gbutt
gbutt / RangeIterator.cls
Created May 11, 2020 22:10
Range Iterator for Salesforce. It is probably most useful in a batch class.
public class RangeIterator implements Iterable<Integer> {
Integer start;
Integer stop;
public RangeIterator(Integer start, Integer stop) {
this.start = start;
this.stop = stop;
}
public Iterator<Integer> iterator() {
return new RangeIterable(start, stop);
#!/bin/bash
CHANGESET_NAME=$1
if [[ "$CHANGESET_NAME" == "" ]]; then
echo No change set specified
exit 1
fi
DEST_ORG=$2
if [[ "$DEST_ORG" == "" ]]; then
DEST_ORG=`sfdx force:org:display | grep Alias | awk '{print $2}'`
@IsTest(IsParallel = true)
public class TimezoneTest {
@TestSetup
static void makeData() {
update new User(Id = UserInfo.getUserId(), TimeZoneSidKey = 'America/Denver');
}
@IsTest
static void it_should_demonstrate_datetime_handling_with_timezones() {
@gbutt
gbutt / StubProviderImpl.cls
Created November 3, 2020 19:58
StubProviderImpl.cls
@IsTest
public class StubProviderImpl implements System.StubProvider {
public Type mockType {get; private set;}
private Map<String, Object> mockedCalls {get; set;}
private Map<String, Exception> mockedExceptions {get; set;}
private Map<String, Object[]> callLog {get; set;}
public StubProviderImpl(Type mockType) {
@gbutt
gbutt / DependencyResolver.cls
Created November 3, 2020 20:00
DependencyResolver.cls
public class DependencyResolver {
@TestVisible
private static Map<Type, Object> cachedDependencies {get; set;}
static {
cachedDependencies = new Map<Type, Object>();
}
// core methods abstract the core logic
public static Object getInstance(Type classType) {
@gbutt
gbutt / LaunchScreenFlow.cmp
Last active December 18, 2020 16:54
LaunchScreenFlow
<aura:component implements="forceCommunity:availableForAllPageTypes">
<aura:attribute name="label" type="String" required="true" />
<aura:attribute name="flowApiName" type="String" required="true" />
<aura:attribute name="recordId" type="String" />
<aura:attribute name="buttonStretched" type="Boolean" default="true" />
<aura:attribute name="buttonVariant" type="String" required="true" />
<aura:attribute name="buttonPadding" type="String" required="true" />
<aura:attribute name="buttonClasses" type="String" />
<aura:attribute name="overLayModal" type="Object" />
@gbutt
gbutt / Toggles.cls
Created January 18, 2021 15:58
Simple feature toggles in Salesforce
public without sharing class Toggles {
private static final Map<String, Boolean> TOGGLE_CACHE;
static {
TOGGLE_CACHE = new Map<String, Boolean>();
loadToggles();
}
// temporary toggle - remove after enabled
public static Boolean DISABLE_CERT_MEMBERSHIP_EXTENSIONS {
@gbutt
gbutt / create-destructive-changes.sh
Created January 26, 2021 20:34
Destructive changes using git diff
#!/bin/bash
write_xml () {
local type_name="$1"
shift
local type_arry=("$@")
XML="${XML}\n\t<types>\n\t\t<name>${type_name}</name>"
for FILENAME in "${type_arry[@]}"; do
XML="${XML}\n\t\t<members>${FILENAME}</members>"
done
@gbutt
gbutt / sfdc-new-release-notes.user.js
Last active February 2, 2021 14:05
Creates link to new SFDC Release Notes from old Release Notes
// ==UserScript==
// @name Redirect to new SFDC release notes
// @namespace https://gist.github.com/gbutt/e62c691887887b8287b382455c0194c9
// @version 0.1
// @description Injects a link to new SFDC Release Notes into the old Release Notes page
// @author Greg Butt
// @match https://releasenotes.docs.salesforce.com/*
// @grant none
// ==/UserScript==