Where or how can I find what interfaces an out of the box Apex class implements?Test Queueable Apex: Methods...
How the name "craqueuhhe" is read
Where is the USB2 OTG port on the RPi 4 Model B located?
Cubic programming and beyond?
How can an advanced civilization forget how to manufacture its technology?
Optimising Table wrapping over a Select
Is killing off one of my queer characters homophobic?
Is Trump personally blocking people on Twitter?
I have a ruthless DM and I'm considering leaving the party. What are my options to minimize the negative impact to the rest of the group?
Replacements for swear words
Would letting a multiclass character rebuild their character to be single-classed be game-breaking?
Robbers: The Hidden OEIS Substring
Where or how can I find what interfaces an out of the box Apex class implements?
During copyediting, journal disagrees about spelling of paper's main topic
Email about missed connecting flight compensation 5 months after flight, is there a point?
Credit union holding car note, refuses to provide details of how payments have been applied
Can I call 112 to check a police officer's identity in the Czech Republic?
Is purchasing foreign currency before going abroad a losing proposition?
How did the hit man miss?
Why isn't there research to build a standard lunar, or Martian mobility platform?
Why can't supermassive black holes merge? (or can they?)
What would the EU do if an EU member declared war on another EU member?
Was adding milk to tea started to reduce employee tea break time?
Why did the Japanese attack the Aleutians at the same time as Midway?
Repeating redundant information after dialogues, to avoid or not?
Where or how can I find what interfaces an out of the box Apex class implements?
Test Queueable Apex: Methods defined as TestMethod do not support Web service callouts, test skippedHitting system limits with my testClassThe Apex class 'ParkLocator' does not appear to be calling the SOAP endpointREST integration and testTest class is creating ApexAsyncJob recordsattempt to de-reference null object in test classTesting future callout methodHow to deserialize into interface type when concrete type is unknownUsing ApexMocks for a class that implements Queueable InterfaceHow to test Database.Error piece code in the Scheduled job (Apex class implements Schedulable)
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}
Is there a method of discovering (or a place to look up) all of the interfaces that an out of the box Salesforce class (Like LoginHistory) implements?
The reason I ask:
I'm attempting to test a method which interacts with a LoginHistory object that's passed in as a parameter. The method accesses the UserId and LoginTime fields on the object. Salesforce won't allow me to new up this object and assign values to these properties for my test. If the object's class implements an interface, I think I could create a mock object from it use it instead for this testing.
Is there a better solution to my problem?
apex unit-test class interface apexmock
add a comment |
Is there a method of discovering (or a place to look up) all of the interfaces that an out of the box Salesforce class (Like LoginHistory) implements?
The reason I ask:
I'm attempting to test a method which interacts with a LoginHistory object that's passed in as a parameter. The method accesses the UserId and LoginTime fields on the object. Salesforce won't allow me to new up this object and assign values to these properties for my test. If the object's class implements an interface, I think I could create a mock object from it use it instead for this testing.
Is there a better solution to my problem?
apex unit-test class interface apexmock
add a comment |
Is there a method of discovering (or a place to look up) all of the interfaces that an out of the box Salesforce class (Like LoginHistory) implements?
The reason I ask:
I'm attempting to test a method which interacts with a LoginHistory object that's passed in as a parameter. The method accesses the UserId and LoginTime fields on the object. Salesforce won't allow me to new up this object and assign values to these properties for my test. If the object's class implements an interface, I think I could create a mock object from it use it instead for this testing.
Is there a better solution to my problem?
apex unit-test class interface apexmock
Is there a method of discovering (or a place to look up) all of the interfaces that an out of the box Salesforce class (Like LoginHistory) implements?
The reason I ask:
I'm attempting to test a method which interacts with a LoginHistory object that's passed in as a parameter. The method accesses the UserId and LoginTime fields on the object. Salesforce won't allow me to new up this object and assign values to these properties for my test. If the object's class implements an interface, I think I could create a mock object from it use it instead for this testing.
Is there a better solution to my problem?
apex unit-test class interface apexmock
apex unit-test class interface apexmock
asked 10 hours ago
SF1DevSF1Dev
4535 silver badges19 bronze badges
4535 silver badges19 bronze badges
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
sObject classes don't implement interfaces at all. Unfortunately, that won't be a viable solution here.
One very common solution to this issue (needing to create an object and populate non-writeable fields) is JSON deserialization. It's viable here; an example:
LoginHistory l;
l = (LoginHistory)JSON.deserialize(
'{"UserId": "'+UserInfo.getUserId()+'", "LoginTime": ' + JSON.serialize(DateTime.now()) + '}',
LoginHistory.class
);
System.debug(l);
This works for a wide variety of objects you cannot otherwise construct or populate, although it might require some experimentation to get it just right. The pattern is the same: you construct some JSON string representing the object's properties and deserialize it, giving the class of the desired object.
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "459"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f269293%2fwhere-or-how-can-i-find-what-interfaces-an-out-of-the-box-apex-class-implements%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
sObject classes don't implement interfaces at all. Unfortunately, that won't be a viable solution here.
One very common solution to this issue (needing to create an object and populate non-writeable fields) is JSON deserialization. It's viable here; an example:
LoginHistory l;
l = (LoginHistory)JSON.deserialize(
'{"UserId": "'+UserInfo.getUserId()+'", "LoginTime": ' + JSON.serialize(DateTime.now()) + '}',
LoginHistory.class
);
System.debug(l);
This works for a wide variety of objects you cannot otherwise construct or populate, although it might require some experimentation to get it just right. The pattern is the same: you construct some JSON string representing the object's properties and deserialize it, giving the class of the desired object.
add a comment |
sObject classes don't implement interfaces at all. Unfortunately, that won't be a viable solution here.
One very common solution to this issue (needing to create an object and populate non-writeable fields) is JSON deserialization. It's viable here; an example:
LoginHistory l;
l = (LoginHistory)JSON.deserialize(
'{"UserId": "'+UserInfo.getUserId()+'", "LoginTime": ' + JSON.serialize(DateTime.now()) + '}',
LoginHistory.class
);
System.debug(l);
This works for a wide variety of objects you cannot otherwise construct or populate, although it might require some experimentation to get it just right. The pattern is the same: you construct some JSON string representing the object's properties and deserialize it, giving the class of the desired object.
add a comment |
sObject classes don't implement interfaces at all. Unfortunately, that won't be a viable solution here.
One very common solution to this issue (needing to create an object and populate non-writeable fields) is JSON deserialization. It's viable here; an example:
LoginHistory l;
l = (LoginHistory)JSON.deserialize(
'{"UserId": "'+UserInfo.getUserId()+'", "LoginTime": ' + JSON.serialize(DateTime.now()) + '}',
LoginHistory.class
);
System.debug(l);
This works for a wide variety of objects you cannot otherwise construct or populate, although it might require some experimentation to get it just right. The pattern is the same: you construct some JSON string representing the object's properties and deserialize it, giving the class of the desired object.
sObject classes don't implement interfaces at all. Unfortunately, that won't be a viable solution here.
One very common solution to this issue (needing to create an object and populate non-writeable fields) is JSON deserialization. It's viable here; an example:
LoginHistory l;
l = (LoginHistory)JSON.deserialize(
'{"UserId": "'+UserInfo.getUserId()+'", "LoginTime": ' + JSON.serialize(DateTime.now()) + '}',
LoginHistory.class
);
System.debug(l);
This works for a wide variety of objects you cannot otherwise construct or populate, although it might require some experimentation to get it just right. The pattern is the same: you construct some JSON string representing the object's properties and deserialize it, giving the class of the desired object.
answered 9 hours ago
David Reed♦David Reed
47.2k8 gold badges27 silver badges65 bronze badges
47.2k8 gold badges27 silver badges65 bronze badges
add a comment |
add a comment |
Thanks for contributing an answer to Salesforce Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f269293%2fwhere-or-how-can-i-find-what-interfaces-an-out-of-the-box-apex-class-implements%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown