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;
}







2















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?










share|improve this question





























    2















    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?










    share|improve this question

























      2












      2








      2








      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?










      share|improve this question














      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






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 10 hours ago









      SF1DevSF1Dev

      4535 silver badges19 bronze badges




      4535 silver badges19 bronze badges






















          1 Answer
          1






          active

          oldest

          votes


















          7














          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.






          share|improve this answer


























            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
            });


            }
            });














            draft saved

            draft discarded


















            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









            7














            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.






            share|improve this answer




























              7














              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.






              share|improve this answer


























                7












                7








                7







                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.






                share|improve this answer













                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.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered 9 hours ago









                David ReedDavid Reed

                47.2k8 gold badges27 silver badges65 bronze badges




                47.2k8 gold badges27 silver badges65 bronze badges






























                    draft saved

                    draft discarded




















































                    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.




                    draft saved


                    draft discarded














                    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





















































                    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







                    Popular posts from this blog

                    Taj Mahal Inhaltsverzeichnis Aufbau | Geschichte | 350-Jahr-Feier | Heutige Bedeutung | Siehe auch |...

                    Baia Sprie Cuprins Etimologie | Istorie | Demografie | Politică și administrație | Arii naturale...

                    Nicolae Petrescu-Găină Cuprins Biografie | Opera | In memoriam | Varia | Controverse, incertitudini...