• Chelsea Kaplan 8
  • NEWBIE
  • 10 Points
  • Member since 2018

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 0
    Questions
  • 5
    Replies
I'm getting the following error on Advanced Apex Specialist Superbadge - Step 5.  Any ideas please?
User-added image

Here is the current code segments:

VerifyQuantityOrdered
Public static void VerifyQuantityOrdered(Product2 originalProduct, Product2 updatedProduct, Integer qtyOrdered) {
       	decimal tot = (originalProduct.Quantity_Ordered__c + qtyOrdered);
        
            system.debug('OldVQ ' + originalProduct.Quantity_Ordered__c);
            system.debug('NewVQ ' + updatedProduct.Quantity_Ordered__c);
            system.debug('QTYVQ ' + qtyOrdered);
        
        system.assertEquals(updatedProduct.Quantity_Ordered__c,tot);     
    }
OrderTests
@isTest
private with sharing class OrderTests {

    @testSetup 
    private static void SetupTestData (){    
    	TestDataFactory.InsertTestData(5);   
    } 

    @isTest
    private static void OrderUpdate_UnitTest (){
        Test.startTest();
    	
        List<Order> OrderList = [select id, name, status from order];

        For (Order ordrec : OrderList) {
            OrderItem oirec = [select id, Pricebookentry.product2Id from orderitem where orderid=:ordrec.id];
			Product2 oldprodrec = [SELECT Family,Id,Name,Quantity_Ordered__c,Quantity_Remaining__c 
                            	FROM Product2 where id =: oirec.Pricebookentry.product2Id  limit 1];
            ordrec.status = constants.ACTIVATED_ORDER_STATUS;
            update ordrec;
            OrderItem oirec1 = [select id, Pricebookentry.product2Id from orderitem where orderid=:ordrec.id];
			Product2 newprodrec = [SELECT Family,Id,Name,Quantity_Ordered__c,Quantity_Remaining__c 
                            	FROM Product2 where id =: oirec1.Pricebookentry.product2Id  limit 1]; 
            system.debug('Old ' + oldprodrec.Quantity_Ordered__c);
            system.debug('New ' + newprodrec.Quantity_Ordered__c);
            system.debug('QTY ' + constants.DEFAULT_ROWS);
            TestDataFactory.VerifyQuantityOrdered(oldprodrec,newprodrec,constants.DEFAULT_ROWS);
        }
        Test.stopTest();          
    }
}
Product2Tests
@isTest  (seeAllData=false)
private with sharing class Product2Tests {

    /**
     * @name product2Extension_UnitTest
     * @description UnitTest for product2Extension
    **/
    @isTest
    private static void Product2Extension_UnitTest(){
// Set-up user
        String uniqueUserName = 'standarduser' + DateTime.now().getTime() + '@testorg.com';
        Profile p = [SELECT Id FROM Profile WHERE Name='Standard User'];
        User u = new User(Alias = 'standt', Email='standarduser@testorg.com',
        	EmailEncodingKey='UTF-8', LastName='Testing', LanguageLocaleKey='en_US',
        	LocaleSidKey='en_US', ProfileId = p.Id, TimeZoneSidKey='America/Los_Angeles', UserName=uniqueUserName);

        System.runAs(u) {
        
// When a user first visits the page, there should be multiple rows displayed on the screen. 
// Assert that the size of the productsToInsert list is equal to the DEFAULT_ROWS constant.
//		Test.StartTest(); 
        	Product2 prod = new Product2(name='Test',isActive=true);
        	ApexPages.StandardController stdc = new ApexPages.StandardController(prod);
        	Product2Extension p2x = new Product2Extension(stdc);        
       		System.assertEquals(Constants.DEFAULT_ROWS, p2x.productsToInsert.size());
//		Test.StopTest();  

// When the Add button is clicked, an additional set of rows should be added, 
// so assert that the size of the productsToInsert ** list is double **DEFAULT_ROWS after the button is clicked once. 
//        Test.StartTest();
        	p2x.addRows();
        	System.assertEquals(Constants.DEFAULT_ROWS * 2, p2x.productsToInsert.size());
//		Test.StopTest();          

// Next, test the Save button. Verify that populated rows are saved and unpopulated rows are not saved. 
// Loop through the rows in the productsToInsert list and populate the values of the first 5 records, 
// and then simulate clicking the Save button. Verify that the button worked by asserting that only 5 products were saved.
		integer x = 0; 
        for (Product2Extension.ProductWrapper PTI : p2x.productsToInsert){
            pti.productrecord.name='TESTPRODUCT ' + x;
            pti.productRecord.IsActive = true;
            pti.productRecord.Initial_Inventory__c = 20;
            pti.productRecord.Family = Constants.PRODUCT_FAMILY[0].getValue();           
            pti.pricebookEntryRecord.UnitPrice = 10;
            
        	x++; if (x==5) {break;}
        }

//        Test.startTest();
        	p2x.save();
//        Test.stopTest();
        List<Product2> createdProducts = [SELECT Id FROM Product2];
        System.assertEquals(5, createdProducts.size());

// plus some more test areas        
        p2x.GetFamilyOptions();
        p2x.GetInventory();

    }
    }
}


 

Hi All,

i'm deploying my community through changeset from one sandox to another ,but i am getting following error.It's been blocker for deployment .can anyone please guide me on this.

The page "/pagename" for Menu Item "Menu item" must be published, begin with a / character, and consists only of characters that are permitted in a URL path for Menu Item Type "Internal" 

TIA,
Manimekalai.

Getting the below error message on the "Advanced Apex Specialist" on the last step. Had made sure all test classes are covered and OrderExtension works as expected and there are more than 12 products created. I tried to delete the existing data on the system and recreated it, Very likely that causes the below error message. Have anyone got the similar error message? Would appreciate any suggestions to solve it.

Challenge Not yet complete... here's what's wrong: 
Ensure that you have at least 12 products created and that OrderExtension is still working as specified in the earlier challenge.
 
Getting 'Page not available' error even the page is available. This navigation is working fine when tested in lightning experience but when I go to community and clikc on the page assigned to the tab facing the error. 

Please find the following snippet used by me for reference:

urlEvent.setParams({
      "url": "/apex/OppRegNewAccountInputPage"
    });