2 added 517 characters in body
source | link

For the following class, I have a test class with two methods. The second method is failing at System.assert(Jet2.Status__c == 'Booked'Jet2.Status__c == 'Booked'). The status is still 'Active.' How do I fix this?

trigger ReservationTrigger on Reservation__c (after insert, after update) {

Set<Id> JetIds = new Set <Id>();
List<Jet__c> JetsToSave = new List<Jet__c>();
List<APEX_Invoice__c> invoicesToSave = new List<APEX_Invoice__c>();
Map<Id, Jet__c> Jets = new Map<Id, Jet__c>();

//Go through and if we find the reservation that is marked as Paid,
//Then make the Jet booked
//

if(Trigger.isUpdate){

    for(Reservation__c res: Trigger.new){
        if(res.paid__c != Trigger.oldMap.get(res.id).paid__c && res.paid__c == true){
            JetIds.add(res.Jet__c);
        }
    }

    if(!JetIds.isEmpty()){
        for(Jet__c Jet: [select id,Status__c from Jet__c where id in : JetIds]){
            Jet.Status__c = 'Booked';
            JetsToSave.add(Jet);
        }

        update JetsToSave;
    }   
}

if(Trigger.isInsert){
    //Go through the list of reservations and get all of the related jets
    for(Reservation__c Res: Trigger.New){
        Jets.put (Res.Jet__c, null);
    }

    //Now go through the list of jets and add the data into the map
    for(Jet__c Jet: [select Id, Base_Cost__c, Cost_Per_Nautical_Mile__c from Jet__c where Id in :Jets.keySet()]){
        Jets.put (Jet.id, Jet);
    }

    //Go through the list of reservations and create the invoices to write
    for(Reservation__c Res: Trigger.New){

        //Which jet are we using for this reservation
        Jet__c Jet = Jets.get(Res.Jet__c);
        Decimal TotalAmount = Jet.Base_Cost__c + Jet.Cost_Per_Nautical_Mile__c * Res.Nautical_Miles__c;
        APEX_Invoice__c Inv = new APEX_Invoice__c();
        Inv.APEX_Customer__c = Res.APEX_Customer__c;
        Inv.Reservation__c = Res.Id;
        Inv.APEX_Amount_Paid__c = TotalAmount;

        invoicesToSave.add(Inv);
    }
    insert invoicesToSave;
}

}Trigger

@isTesttrigger ReservationTrigger on Reservation__c (after insert, after update) {

    Set<Id> JetIds = new Set <Id>();
    List<Jet__c> JetsToSave = new List<Jet__c>();
    List<APEX_Invoice__c> invoicesToSave = new List<APEX_Invoice__c>();
    Map<Id, Jet__c> Jets = new Map<Id, Jet__c>();

    //Go through and if we find the reservation that is marked as Paid,
    //Then make the Jet booked
    //

    if(Trigger.isUpdate){

        for(Reservation__c res: Trigger.new){
            if(res.paid__c != Trigger.oldMap.get(res.id).paid__c && res.paid__c == true){
                JetIds.add(res.Jet__c);
            }
        }

        if(!JetIds.isEmpty()){
            for(Jet__c Jet: [select id,Status__c from Jet__c where id in : JetIds]){
                Jet.Status__c = 'Booked';
                JetsToSave.add(Jet);
            }

            update JetsToSave;
        }   
    }

    if(Trigger.isInsert){
        //Go through the list of reservations and get all of the related jets
        for(Reservation__c Res: Trigger.New){
            Jets.put (Res.Jet__c, null);
        }

        //Now go through the list of jets and add the data into the map
        for(Jet__c Jet: [select Id, Base_Cost__c, Cost_Per_Nautical_Mile__c from Jet__c where Id in :Jets.keySet()]){
            Jets.put (Jet.id, Jet);
        }

        //Go through the list of reservations and create the invoices to write
        for(Reservation__c Res: Trigger.New){

            //Which jet are we using for this reservation
            Jet__c Jet = Jets.get(Res.Jet__c);
            Decimal TotalAmount = Jet.Base_Cost__c + Jet.Cost_Per_Nautical_Mile__c * Res.Nautical_Miles__c;
            APEX_Invoice__c Inv = new APEX_Invoice__c();
            Inv.APEX_Customer__c = Res.APEX_Customer__c;
            Inv.Reservation__c = Res.Id;
            Inv.APEX_Amount_Paid__c = TotalAmount;

            invoicesToSave.add(Inv);
        }
        insert invoicesToSave;
    }
}

public class ReservationTriggerTestClass {Test Class

@isTest
public class ReservationTriggerTestClass {

    static testMethod void testCreateInvoices(){

        Jet__c Jet = new Jet__c(Name                      = 'TestJet1',
                                Base_Cost__c              = 1000,
                                Cost_per_Nautical_Mile__c = 10,
                                Status__c                 = 'Active');

        APEX_Customer__c Cus = new APEX_Customer__c(Name = 'TestCustomer');

        insert Jet;
        insert Cus;

        Reservation__c Res = new Reservation__c(Jet__c            = Jet.id,
                                                APEX_Customer__c  = Cus.id,
                                                Nautical_Miles__c = 50,
                                                Paid__c           = false);


        Test.startTest();
        insert Res;
        Test.stopTest();

        //Check that the invoice was created and the related to the right records
        //

        APEX_Invoice__c Invoice = [select id, Reservation__c, APEX_Customer__c, APEX_Amount_Paid__c
                              from APEX_Invoice__c
                              where APEX_Customer__c = :Cus.Id
                              and Reservation__c = :Res.id];

        System.assert(Invoice.APEX_Amount_Paid__c == 1500);

    }

    static testMethod void testUpdateReservation(){

        Jet__c Jet2 = new Jet__c(Name                     = 'TestJet2',
                                Base_Cost__c              = 1000,
                                Cost_per_Nautical_Mile__c = 10,
                                Status__c                 = 'Active');

        APEX_Customer__c Cus = new APEX_Customer__c(Name = 'TestCustomer2');

        insert Jet2;
        insert Cus;

        Reservation__c Res = new Reservation__c(Jet__c            = Jet2.id,
                                                APEX_Customer__c  = Cus.id,
                                                Nautical_Miles__c = 50,
                                                Paid__c           = false);

        Test.startTest();

        insert Res;
        Jet2 = [select id, status__c from Jet__c where Id = :Jet2.id];
        System.assert(Jet2.Status__c == 'Active');
        Res.Paid__c = true;
        update Res;
        System.assert(Jet2.Status__c == 'Booked');

        Test.stopTest(); 

    }
}

}

For the following class, I have a test class with two methods. The second method is failing at System.assert(Jet2.Status__c == 'Booked'). The status is still 'Active.' How do I fix this?

trigger ReservationTrigger on Reservation__c (after insert, after update) {

Set<Id> JetIds = new Set <Id>();
List<Jet__c> JetsToSave = new List<Jet__c>();
List<APEX_Invoice__c> invoicesToSave = new List<APEX_Invoice__c>();
Map<Id, Jet__c> Jets = new Map<Id, Jet__c>();

//Go through and if we find the reservation that is marked as Paid,
//Then make the Jet booked
//

if(Trigger.isUpdate){

    for(Reservation__c res: Trigger.new){
        if(res.paid__c != Trigger.oldMap.get(res.id).paid__c && res.paid__c == true){
            JetIds.add(res.Jet__c);
        }
    }

    if(!JetIds.isEmpty()){
        for(Jet__c Jet: [select id,Status__c from Jet__c where id in : JetIds]){
            Jet.Status__c = 'Booked';
            JetsToSave.add(Jet);
        }

        update JetsToSave;
    }   
}

if(Trigger.isInsert){
    //Go through the list of reservations and get all of the related jets
    for(Reservation__c Res: Trigger.New){
        Jets.put (Res.Jet__c, null);
    }

    //Now go through the list of jets and add the data into the map
    for(Jet__c Jet: [select Id, Base_Cost__c, Cost_Per_Nautical_Mile__c from Jet__c where Id in :Jets.keySet()]){
        Jets.put (Jet.id, Jet);
    }

    //Go through the list of reservations and create the invoices to write
    for(Reservation__c Res: Trigger.New){

        //Which jet are we using for this reservation
        Jet__c Jet = Jets.get(Res.Jet__c);
        Decimal TotalAmount = Jet.Base_Cost__c + Jet.Cost_Per_Nautical_Mile__c * Res.Nautical_Miles__c;
        APEX_Invoice__c Inv = new APEX_Invoice__c();
        Inv.APEX_Customer__c = Res.APEX_Customer__c;
        Inv.Reservation__c = Res.Id;
        Inv.APEX_Amount_Paid__c = TotalAmount;

        invoicesToSave.add(Inv);
    }
    insert invoicesToSave;
}

}

@isTest

public class ReservationTriggerTestClass {

static testMethod void testCreateInvoices(){

    Jet__c Jet = new Jet__c(Name                      = 'TestJet1',
                            Base_Cost__c              = 1000,
                            Cost_per_Nautical_Mile__c = 10,
                            Status__c                 = 'Active');

    APEX_Customer__c Cus = new APEX_Customer__c(Name = 'TestCustomer');

    insert Jet;
    insert Cus;

    Reservation__c Res = new Reservation__c(Jet__c            = Jet.id,
                                            APEX_Customer__c  = Cus.id,
                                            Nautical_Miles__c = 50,
                                            Paid__c           = false);


    Test.startTest();
    insert Res;
    Test.stopTest();

    //Check that the invoice was created and the related to the right records
    //

    APEX_Invoice__c Invoice = [select id, Reservation__c, APEX_Customer__c, APEX_Amount_Paid__c
                          from APEX_Invoice__c
                          where APEX_Customer__c = :Cus.Id
                          and Reservation__c = :Res.id];

    System.assert(Invoice.APEX_Amount_Paid__c == 1500);

}

static testMethod void testUpdateReservation(){

    Jet__c Jet2 = new Jet__c(Name                     = 'TestJet2',
                            Base_Cost__c              = 1000,
                            Cost_per_Nautical_Mile__c = 10,
                            Status__c                 = 'Active');

    APEX_Customer__c Cus = new APEX_Customer__c(Name = 'TestCustomer2');

    insert Jet2;
    insert Cus;

    Reservation__c Res = new Reservation__c(Jet__c            = Jet2.id,
                                            APEX_Customer__c  = Cus.id,
                                            Nautical_Miles__c = 50,
                                            Paid__c           = false);

    Test.startTest();

    insert Res;
    Jet2 = [select id, status__c from Jet__c where Id = :Jet2.id];
    System.assert(Jet2.Status__c == 'Active');
    Res.Paid__c = true;
    update Res;
    System.assert(Jet2.Status__c == 'Booked');

    Test.stopTest();

}

}

For the following class, I have a test class with two methods. The second method is failing at System.assert(Jet2.Status__c == 'Booked'). The status is still 'Active.' How do I fix this?

Trigger

trigger ReservationTrigger on Reservation__c (after insert, after update) {

    Set<Id> JetIds = new Set <Id>();
    List<Jet__c> JetsToSave = new List<Jet__c>();
    List<APEX_Invoice__c> invoicesToSave = new List<APEX_Invoice__c>();
    Map<Id, Jet__c> Jets = new Map<Id, Jet__c>();

    //Go through and if we find the reservation that is marked as Paid,
    //Then make the Jet booked
    //

    if(Trigger.isUpdate){

        for(Reservation__c res: Trigger.new){
            if(res.paid__c != Trigger.oldMap.get(res.id).paid__c && res.paid__c == true){
                JetIds.add(res.Jet__c);
            }
        }

        if(!JetIds.isEmpty()){
            for(Jet__c Jet: [select id,Status__c from Jet__c where id in : JetIds]){
                Jet.Status__c = 'Booked';
                JetsToSave.add(Jet);
            }

            update JetsToSave;
        }   
    }

    if(Trigger.isInsert){
        //Go through the list of reservations and get all of the related jets
        for(Reservation__c Res: Trigger.New){
            Jets.put (Res.Jet__c, null);
        }

        //Now go through the list of jets and add the data into the map
        for(Jet__c Jet: [select Id, Base_Cost__c, Cost_Per_Nautical_Mile__c from Jet__c where Id in :Jets.keySet()]){
            Jets.put (Jet.id, Jet);
        }

        //Go through the list of reservations and create the invoices to write
        for(Reservation__c Res: Trigger.New){

            //Which jet are we using for this reservation
            Jet__c Jet = Jets.get(Res.Jet__c);
            Decimal TotalAmount = Jet.Base_Cost__c + Jet.Cost_Per_Nautical_Mile__c * Res.Nautical_Miles__c;
            APEX_Invoice__c Inv = new APEX_Invoice__c();
            Inv.APEX_Customer__c = Res.APEX_Customer__c;
            Inv.Reservation__c = Res.Id;
            Inv.APEX_Amount_Paid__c = TotalAmount;

            invoicesToSave.add(Inv);
        }
        insert invoicesToSave;
    }
}

Test Class

@isTest
public class ReservationTriggerTestClass {

    static testMethod void testCreateInvoices(){

        Jet__c Jet = new Jet__c(Name                      = 'TestJet1',
                                Base_Cost__c              = 1000,
                                Cost_per_Nautical_Mile__c = 10,
                                Status__c                 = 'Active');

        APEX_Customer__c Cus = new APEX_Customer__c(Name = 'TestCustomer');

        insert Jet;
        insert Cus;

        Reservation__c Res = new Reservation__c(Jet__c            = Jet.id,
                                                APEX_Customer__c  = Cus.id,
                                                Nautical_Miles__c = 50,
                                                Paid__c           = false);


        Test.startTest();
        insert Res;
        Test.stopTest();

        //Check that the invoice was created and the related to the right records
        //

        APEX_Invoice__c Invoice = [select id, Reservation__c, APEX_Customer__c, APEX_Amount_Paid__c
                              from APEX_Invoice__c
                              where APEX_Customer__c = :Cus.Id
                              and Reservation__c = :Res.id];

        System.assert(Invoice.APEX_Amount_Paid__c == 1500);

    }

    static testMethod void testUpdateReservation(){

        Jet__c Jet2 = new Jet__c(Name                     = 'TestJet2',
                                Base_Cost__c              = 1000,
                                Cost_per_Nautical_Mile__c = 10,
                                Status__c                 = 'Active');

        APEX_Customer__c Cus = new APEX_Customer__c(Name = 'TestCustomer2');

        insert Jet2;
        insert Cus;

        Reservation__c Res = new Reservation__c(Jet__c            = Jet2.id,
                                                APEX_Customer__c  = Cus.id,
                                                Nautical_Miles__c = 50,
                                                Paid__c           = false);

        Test.startTest();

        insert Res;
        Jet2 = [select id, status__c from Jet__c where Id = :Jet2.id];
        System.assert(Jet2.Status__c == 'Active');
        Res.Paid__c = true;
        update Res;
        System.assert(Jet2.Status__c == 'Booked');

        Test.stopTest(); 

    }
}
1
source | link

Trigger Test Class failing assertion

For the following class, I have a test class with two methods. The second method is failing at System.assert(Jet2.Status__c == 'Booked'). The status is still 'Active.' How do I fix this?

trigger ReservationTrigger on Reservation__c (after insert, after update) {

Set<Id> JetIds = new Set <Id>();
List<Jet__c> JetsToSave = new List<Jet__c>();
List<APEX_Invoice__c> invoicesToSave = new List<APEX_Invoice__c>();
Map<Id, Jet__c> Jets = new Map<Id, Jet__c>();

//Go through and if we find the reservation that is marked as Paid,
//Then make the Jet booked
//

if(Trigger.isUpdate){

    for(Reservation__c res: Trigger.new){
        if(res.paid__c != Trigger.oldMap.get(res.id).paid__c && res.paid__c == true){
            JetIds.add(res.Jet__c);
        }
    }

    if(!JetIds.isEmpty()){
        for(Jet__c Jet: [select id,Status__c from Jet__c where id in : JetIds]){
            Jet.Status__c = 'Booked';
            JetsToSave.add(Jet);
        }

        update JetsToSave;
    }   
}

if(Trigger.isInsert){
    //Go through the list of reservations and get all of the related jets
    for(Reservation__c Res: Trigger.New){
        Jets.put (Res.Jet__c, null);
    }

    //Now go through the list of jets and add the data into the map
    for(Jet__c Jet: [select Id, Base_Cost__c, Cost_Per_Nautical_Mile__c from Jet__c where Id in :Jets.keySet()]){
        Jets.put (Jet.id, Jet);
    }

    //Go through the list of reservations and create the invoices to write
    for(Reservation__c Res: Trigger.New){

        //Which jet are we using for this reservation
        Jet__c Jet = Jets.get(Res.Jet__c);
        Decimal TotalAmount = Jet.Base_Cost__c + Jet.Cost_Per_Nautical_Mile__c * Res.Nautical_Miles__c;
        APEX_Invoice__c Inv = new APEX_Invoice__c();
        Inv.APEX_Customer__c = Res.APEX_Customer__c;
        Inv.Reservation__c = Res.Id;
        Inv.APEX_Amount_Paid__c = TotalAmount;

        invoicesToSave.add(Inv);
    }
    insert invoicesToSave;
}

}

@isTest

public class ReservationTriggerTestClass {

static testMethod void testCreateInvoices(){

    Jet__c Jet = new Jet__c(Name                      = 'TestJet1',
                            Base_Cost__c              = 1000,
                            Cost_per_Nautical_Mile__c = 10,
                            Status__c                 = 'Active');

    APEX_Customer__c Cus = new APEX_Customer__c(Name = 'TestCustomer');

    insert Jet;
    insert Cus;

    Reservation__c Res = new Reservation__c(Jet__c            = Jet.id,
                                            APEX_Customer__c  = Cus.id,
                                            Nautical_Miles__c = 50,
                                            Paid__c           = false);


    Test.startTest();
    insert Res;
    Test.stopTest();

    //Check that the invoice was created and the related to the right records
    //

    APEX_Invoice__c Invoice = [select id, Reservation__c, APEX_Customer__c, APEX_Amount_Paid__c
                          from APEX_Invoice__c
                          where APEX_Customer__c = :Cus.Id
                          and Reservation__c = :Res.id];

    System.assert(Invoice.APEX_Amount_Paid__c == 1500);

}

static testMethod void testUpdateReservation(){

    Jet__c Jet2 = new Jet__c(Name                     = 'TestJet2',
                            Base_Cost__c              = 1000,
                            Cost_per_Nautical_Mile__c = 10,
                            Status__c                 = 'Active');

    APEX_Customer__c Cus = new APEX_Customer__c(Name = 'TestCustomer2');

    insert Jet2;
    insert Cus;

    Reservation__c Res = new Reservation__c(Jet__c            = Jet2.id,
                                            APEX_Customer__c  = Cus.id,
                                            Nautical_Miles__c = 50,
                                            Paid__c           = false);

    Test.startTest();

    insert Res;
    Jet2 = [select id, status__c from Jet__c where Id = :Jet2.id];
    System.assert(Jet2.Status__c == 'Active');
    Res.Paid__c = true;
    update Res;
    System.assert(Jet2.Status__c == 'Booked');

    Test.stopTest();

}

}