• merrick deville
  • NEWBIE
  • 45 Points
  • Member since 2015

  • Chatter
    Feed
  • 0
    Best Answers
  • 2
    Likes Received
  • 0
    Likes Given
  • 3
    Questions
  • 9
    Replies
Hello everyone I could use some help on the using future Methods trailhead. Please keep in mind I am not an Apex coder at all but I am trying to learn as much as I can.

Here is the Task

Create an Apex class with a method using the @future annotation that accepts a List of Account IDs and updates a custom field on the Account object with the number of contacts associated to the Account. Write unit tests that achieve 100% code coverage for the class.
Create a field on the Account object called 'Number_of_Contacts__c' of type Number. This field will hold the total number of Contacts for the Account.
Create an Apex class called 'AccountProcessor' that contains a 'countContacts' method that accepts a List of Account IDs. This method must use the @future annotation.
For each Account ID passed to the method, count the number of Contact records associated to it and update the 'Number_of_Contacts__c' field with this value.
Create an Apex test class called 'AccountProcessorTest'.
The unit tests must cover all lines of code included in the AccountProcessor class, resulting in 100% code coverage.
Run your test class at least once (via 'Run All' tests the Developer Console) before attempting to verify this challenge.

I have written an Apex class and a Test class but I think I am doing them both Wrong: because when I try to check the challenge i Get this error

Challenge Not yet complete... here's what's wrong: 
The 'AccountProcessorTest' test class doesn't appear to be calling the 'AccountProcessor.countContacts' method between Test.startTest() and Test.stopTest().


When I run the Test class I get this error :

System.QueryException: List has no rows for assignment to SObject

Here is the CLASS:
 
public class AccountProcessor {
     @future

  public static void someFutureMethod(List<id> scope) {

   Account[] updates = new Account[] {};
        for (AggregateResult ar : [
                select AccountId a, count(Id) c
                from Contact
                where AccountId in :scope
                group by AccountId
                ]) {
            updates.add(new Account(
                    Id = (Id) ar.get('a'),
                    Number_of_Contacts__c = (Decimal) ar.get('c')
                    ));
        }
        update updates;
    }

}

Here is the Test Class:
 
@IsTest
public class AccountProcessorTest {
  public static testmethod void TestAccountProcessorTest() {
 
Test.startTest();
     Account a = new Account();
        a.Name = 'Test Account';
        Insert a;
      
      Contact cont = New Contact();
      
      cont.FirstName ='Bob';
      cont.LastName ='Masters';
      cont.AccountId = a.Id;
      Insert cont;

    Test.stopTest() ;
     Contact ACC = [select AccountId from Contact where id = :a.id LIMIT 1];

 
        System.assert(Cont.AccountId != null);
        System.assertequals(cont.id, ACC.AccountId);

  }}

I have used alot or diffrent google searches to get me this far. But I have not Idea if Im even remotly close to the right answer or not.


 
Ok everyone I need some help with a trailhead I have been fighting with my last few Badges for a while now and for the life of me I can fix the issue. These are the last 4 badges I need and I cant get them because I cant get the command line to create the APP. I have made sure I have installed all of the appropriate items Node.js, SDK, android studio ect. I am getting hung up on the  example at the top when I get to the last step of the forcedroid create. I am getting a Shell.js  internal error that tells me the directories dont exisit. I have verified that the directory is actually there when I look in windows explore. I am not sure if maybe I am setting the ADROID_HOME enviroment wrong or not. The trailhead is not very clear on that. Below is the error from the CMD prompt.

CMD ERROR

The File path is direcory

User-added image

I have googled the issue mutiple times but I cant seem to get any one the solutions mentioned to clear my error. Any help would be appreeciated.
On the using basic in checking Formula challege. I have done the challege and tested the results but I cant get it to validate that its correct. I have re written the formula Multiple times now and everytime when I test it the validation fires as expected. But I can get it to validate through trailhead. I get the following error.

"Challenge Not yet complete... here's what's wrong: 
The validation rule does not reference the 'IsClosed' and 'CloseDate' fields correctly. Take a look at the requirements again."

Here is the challenge:

Your number-crushing sales team has so many deals in the pipeline, you’re starting to see occasional problems with data quality. Namely, sales reps are forgetting to update the close date to a date in the future. Make a formula that requires an opportunity to have a CloseDate of today or any future date. Hint: this formula should reference the hidden IsClosed checkbox field on the Opportunity object, and you will be creating the formula as an Opportunity validation rule.The validation rule should be on the Opportunity object
The validation rule should be named 'Close_Date_Alert'
The validation rule should fire if IsClosed is not selected and CloseDate is yesterday or earlier
The validation rule should display the error 'Hey McFly, unless you are planning to go back in time, please update your close date' at the top of the page when triggered


Here is the formula I currently have in there:


CloseDate < TODAY() && NOT(IsClosed)

I have probably written this like 10 diffrent ways and cant get it to properly validate.


 
Hello everyone I could use some help on the using future Methods trailhead. Please keep in mind I am not an Apex coder at all but I am trying to learn as much as I can.

Here is the Task

Create an Apex class with a method using the @future annotation that accepts a List of Account IDs and updates a custom field on the Account object with the number of contacts associated to the Account. Write unit tests that achieve 100% code coverage for the class.
Create a field on the Account object called 'Number_of_Contacts__c' of type Number. This field will hold the total number of Contacts for the Account.
Create an Apex class called 'AccountProcessor' that contains a 'countContacts' method that accepts a List of Account IDs. This method must use the @future annotation.
For each Account ID passed to the method, count the number of Contact records associated to it and update the 'Number_of_Contacts__c' field with this value.
Create an Apex test class called 'AccountProcessorTest'.
The unit tests must cover all lines of code included in the AccountProcessor class, resulting in 100% code coverage.
Run your test class at least once (via 'Run All' tests the Developer Console) before attempting to verify this challenge.

I have written an Apex class and a Test class but I think I am doing them both Wrong: because when I try to check the challenge i Get this error

Challenge Not yet complete... here's what's wrong: 
The 'AccountProcessorTest' test class doesn't appear to be calling the 'AccountProcessor.countContacts' method between Test.startTest() and Test.stopTest().


When I run the Test class I get this error :

System.QueryException: List has no rows for assignment to SObject

Here is the CLASS:
 
public class AccountProcessor {
     @future

  public static void someFutureMethod(List<id> scope) {

   Account[] updates = new Account[] {};
        for (AggregateResult ar : [
                select AccountId a, count(Id) c
                from Contact
                where AccountId in :scope
                group by AccountId
                ]) {
            updates.add(new Account(
                    Id = (Id) ar.get('a'),
                    Number_of_Contacts__c = (Decimal) ar.get('c')
                    ));
        }
        update updates;
    }

}

Here is the Test Class:
 
@IsTest
public class AccountProcessorTest {
  public static testmethod void TestAccountProcessorTest() {
 
Test.startTest();
     Account a = new Account();
        a.Name = 'Test Account';
        Insert a;
      
      Contact cont = New Contact();
      
      cont.FirstName ='Bob';
      cont.LastName ='Masters';
      cont.AccountId = a.Id;
      Insert cont;

    Test.stopTest() ;
     Contact ACC = [select AccountId from Contact where id = :a.id LIMIT 1];

 
        System.assert(Cont.AccountId != null);
        System.assertequals(cont.id, ACC.AccountId);

  }}

I have used alot or diffrent google searches to get me this far. But I have not Idea if Im even remotly close to the right answer or not.


 
Ok everyone I need some help with a trailhead I have been fighting with my last few Badges for a while now and for the life of me I can fix the issue. These are the last 4 badges I need and I cant get them because I cant get the command line to create the APP. I have made sure I have installed all of the appropriate items Node.js, SDK, android studio ect. I am getting hung up on the  example at the top when I get to the last step of the forcedroid create. I am getting a Shell.js  internal error that tells me the directories dont exisit. I have verified that the directory is actually there when I look in windows explore. I am not sure if maybe I am setting the ADROID_HOME enviroment wrong or not. The trailhead is not very clear on that. Below is the error from the CMD prompt.

CMD ERROR

The File path is direcory

User-added image

I have googled the issue mutiple times but I cant seem to get any one the solutions mentioned to clear my error. Any help would be appreeciated.
Hello everyone I could use some help on the using future Methods trailhead. Please keep in mind I am not an Apex coder at all but I am trying to learn as much as I can.

Here is the Task

Create an Apex class with a method using the @future annotation that accepts a List of Account IDs and updates a custom field on the Account object with the number of contacts associated to the Account. Write unit tests that achieve 100% code coverage for the class.
Create a field on the Account object called 'Number_of_Contacts__c' of type Number. This field will hold the total number of Contacts for the Account.
Create an Apex class called 'AccountProcessor' that contains a 'countContacts' method that accepts a List of Account IDs. This method must use the @future annotation.
For each Account ID passed to the method, count the number of Contact records associated to it and update the 'Number_of_Contacts__c' field with this value.
Create an Apex test class called 'AccountProcessorTest'.
The unit tests must cover all lines of code included in the AccountProcessor class, resulting in 100% code coverage.
Run your test class at least once (via 'Run All' tests the Developer Console) before attempting to verify this challenge.

I have written an Apex class and a Test class but I think I am doing them both Wrong: because when I try to check the challenge i Get this error

Challenge Not yet complete... here's what's wrong: 
The 'AccountProcessorTest' test class doesn't appear to be calling the 'AccountProcessor.countContacts' method between Test.startTest() and Test.stopTest().


When I run the Test class I get this error :

System.QueryException: List has no rows for assignment to SObject

Here is the CLASS:
 
public class AccountProcessor {
     @future

  public static void someFutureMethod(List<id> scope) {

   Account[] updates = new Account[] {};
        for (AggregateResult ar : [
                select AccountId a, count(Id) c
                from Contact
                where AccountId in :scope
                group by AccountId
                ]) {
            updates.add(new Account(
                    Id = (Id) ar.get('a'),
                    Number_of_Contacts__c = (Decimal) ar.get('c')
                    ));
        }
        update updates;
    }

}

Here is the Test Class:
 
@IsTest
public class AccountProcessorTest {
  public static testmethod void TestAccountProcessorTest() {
 
Test.startTest();
     Account a = new Account();
        a.Name = 'Test Account';
        Insert a;
      
      Contact cont = New Contact();
      
      cont.FirstName ='Bob';
      cont.LastName ='Masters';
      cont.AccountId = a.Id;
      Insert cont;

    Test.stopTest() ;
     Contact ACC = [select AccountId from Contact where id = :a.id LIMIT 1];

 
        System.assert(Cont.AccountId != null);
        System.assertequals(cont.id, ACC.AccountId);

  }}

I have used alot or diffrent google searches to get me this far. But I have not Idea if Im even remotly close to the right answer or not.


 
Ok everyone I need some help with a trailhead I have been fighting with my last few Badges for a while now and for the life of me I can fix the issue. These are the last 4 badges I need and I cant get them because I cant get the command line to create the APP. I have made sure I have installed all of the appropriate items Node.js, SDK, android studio ect. I am getting hung up on the  example at the top when I get to the last step of the forcedroid create. I am getting a Shell.js  internal error that tells me the directories dont exisit. I have verified that the directory is actually there when I look in windows explore. I am not sure if maybe I am setting the ADROID_HOME enviroment wrong or not. The trailhead is not very clear on that. Below is the error from the CMD prompt.

CMD ERROR

The File path is direcory

User-added image

I have googled the issue mutiple times but I cant seem to get any one the solutions mentioned to clear my error. Any help would be appreeciated.
On the using basic in checking Formula challege. I have done the challege and tested the results but I cant get it to validate that its correct. I have re written the formula Multiple times now and everytime when I test it the validation fires as expected. But I can get it to validate through trailhead. I get the following error.

"Challenge Not yet complete... here's what's wrong: 
The validation rule does not reference the 'IsClosed' and 'CloseDate' fields correctly. Take a look at the requirements again."

Here is the challenge:

Your number-crushing sales team has so many deals in the pipeline, you’re starting to see occasional problems with data quality. Namely, sales reps are forgetting to update the close date to a date in the future. Make a formula that requires an opportunity to have a CloseDate of today or any future date. Hint: this formula should reference the hidden IsClosed checkbox field on the Opportunity object, and you will be creating the formula as an Opportunity validation rule.The validation rule should be on the Opportunity object
The validation rule should be named 'Close_Date_Alert'
The validation rule should fire if IsClosed is not selected and CloseDate is yesterday or earlier
The validation rule should display the error 'Hey McFly, unless you are planning to go back in time, please update your close date' at the top of the page when triggered


Here is the formula I currently have in there:


CloseDate < TODAY() && NOT(IsClosed)

I have probably written this like 10 diffrent ways and cant get it to properly validate.


 
Admin Advanced >  Advanced Formulas > Using Basic Logic in Checkbox Formulas

The formula I used is:
NOT(IsClosed) && (CloseDate <= (Today() - 1))
Also tried:
AND(NOT(IsClosed),(CloseDate <= (Today() - 1)))

The error code I get is:

"Hey McFly, unless you are planning to go back in time, please update your close date"

Trialhead is giving the error:
Challenge Not yet complete... here's what's wrong: 
The validation rule does not reference the 'IsClosed' and 'CloseDate' fields correctly. Take a look at the requirements again.

When I test it out myself, it's working as expected. Any ideas on what it could be?
@Lauren Grau - Just curious on how many badges can you get in total...Admin and Dev.