function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
sawaji varunsawaji varun 

how to create custom login page and write the test class for it

How to create custom login page and How to write the Test class for it. The page conatins the fields username and password. If success go to next page else redirects to same login page
Rupal KumarRupal Kumar
Hi Varun,
 
<apex:page controller="UserLogincls" showHeader="false" sidebar="false" standardStylesheets="true" >
    <html>

    <head>
        <style>
            body {
               
                margin: 0;
                padding: 0;
                background:white;
              }
            .Container {
                width:100%;
                margin: auto;
            }
            .header {
                width: 100%;
                background: #1797C0;
                height: 50px;
            }
           .content {
                width:100%;
                margin:auto;
            }
           .footer1  p {
                font-size: 13px;
                padding-left:250px;
                color:white;
            }
             #Container1 {
                background: #0099FF;
                margin: auto;
                width: 37%;
                margin-top: 10px;
                border-radius: 25px;
             }
            p {
                color: white;
                font-family: Arial;
            }
         #login {
                padding: 20px 40px 10px;
            }
          input {
                -moz-border-radius: 15px;
                border-radius: 7px;
                border: solid 1px #C0C0C0;
                padding: 5px;
            }
         input:hover {
                border: 1px solid #0099FF;
                border-radius: 5px;
            }
          input:focus {
                outline: none;
                box-shadow: 0px 0px 10px #989898;
                border-color: #989898;
            }
          #Container1 .myButton {
                background-color: white;
                -moz-border-radius: 28px;
                -webkit-border-radius: 28px;
                border-radius: 24px;
                border: 1px solid #18ab29;
                display: inline-block;
                cursor: pointer;
                color: #0099FF;
                font-family: Arial;
                font-size: 15px;
                padding: 7px 31px;
                margin-left: 250px;
                text-decoration: none;
            }
           #Container .myButton:hover {
                background-color: #C0C0C0;
                text-decoration: none;
            }
           #Container.myButton:active {
                position: relative;
                top: 1px;
            }
           td {
                padding: 5px 3px;
                font-size: 15px;
            }
       input,textarea {
                -moz-border-radius: 10px;
                border-radius: 5px;
                padding: 5px;
            }
       .footer {
                width: 100%;
                height: 50px;
               
            }
       .footer1 {
                     position:absolute;
                     bottom:0;
                     left:0;
                     background-color:#31b0d5;
                     border-color:#269abc;
                     height:50px;
                     width:100%;
           }
           .usrnme{width:20%;float:right;}
        </style>
    </head>

    <body>
        <apex:pageMessages id="themsg"/>
        <div class="Container">
            <div class="header">
               </div>

            <div class="content">
                <div id="Container1">
                   <div id="login">
                 <apex:form >
                    <p style="font-size:20px;"><b>Login </b>
                        <br />
                    </p>
                    <apex:panelGrid columns="2" style="margin-top:1em;">
                        <p><b>Username</b>
                            <br />
                            <apex:inputtext value="{!username}" />
                        </p>
                        <p><b>Password</b>
                            <br />
                            <apex:inputSecret value="{!password}" />
                        </p>
                    </apex:panelGrid>
                    <apex:commandButton styleClass="myButton" value="Login" action="{!loginpage}"    rerender="theform,themsg" />
                </apex:form>

            </div>
        </div>
             </div>
              <div class="footer1 " style="margin-bottom:0px;">
                </div>
        </div>
       
    </body>

    </html>
    
 </apex:page>
Controller-
public class UserLogincls {

    public string username{get;set;}
    public string password{get;set;}
    public User__c usr{get;set;}
    
    public UserLogincls() {
        
    }
    /*
        This method is used to call the login button.
    */
    public pagereference loginpage(){
        try{
            usr = [select id,name,IsActive__c,Password__c,User_Email__c,User_Name__c from User__c where User_Name__c =: username and Password__c =: password and User_Name__c != null Password__c and != null and IsActive__c =: true];
            
            pagereference pg = new pagereference('/apex/success page);
            pg.setredirect(true);
            return pg;    
        }
        catch(exception e){
            ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING,'Please fill the correct credential'));
            return null;
        }        
    }
}

testclass
 
@IsTest
public class UserLoginclsTest{
    
    public static testmethod void test1(){
        
        string username = 'testusername';
        string password = 'pass';
        
        User__c usr = new User__c();
        usr.name = 'test';
        usr.IsActive__c = true;
        usr.User_Name__c = username;
        usr.Password__c = password;
        insert usr;
        UserLogincls us = new UserLogincls();
        us.username = 'testusername';
        us.password = 'pass';
        us.loginpage();
    }
    public static testmethod void test2(){
        
        Useer__c usr = new Useer__c();
        usr.name = 'test';
        usr.IsActive__c = true;
        usr.User_Name__c = 'test';
        usr.Password__c = 'password';
        insert usr;
        UserLogincls us = new UserLogincls();
        
        us.loginpage();
    }
}

Thanks
Rupal kumar
http://mirketa.com
sawaji varunsawaji varun
Thanks for your support