package creditfair_websiteapp_test;

import org.openqa.selenium.support.PageFactory;
import org.testng.annotations.Test;

import creditfair_websiteapp_config.WebsiteappBrowser;
import creditfair_websiteapp_email.EmailReport;
import creditfair_websiteapp_locator.WebsiteappDeleteLocator;
import creditfair_websiteapp_locator.WebsiteappFirstFormLocator;
import creditfair_websiteapp_locator.WebsiteappFourFormLocator;
import creditfair_websiteapp_locator.WebsiteappSecondFormLocator;
import creditfair_websiteapp_locator.WebsiteappThreeFormLocator;
import creditfair_websiteapp_uipages.WebsiteappDelete;
import creditfair_websiteapp_uipages.WebsiteappFirstForm;
import creditfair_websiteapp_uipages.WebsiteappFourForm;
import creditfair_websiteapp_uipages.WebsiteappSecondForm;
import creditfair_websiteapp_uipages.WebsiteappThreeForm;
import net.lightbody.bmp.core.har.Har;
import net.lightbody.bmp.proxy.CaptureType;



public class WebsiteappTest extends WebsiteappHelper {
	@Test
	public void testRun()
	{
		try
		{
			// File Run

			WebsiteappFirstForm fistappform = PageFactory.initElements(driver, WebsiteappFirstForm.class);
			
			WebsiteappFirstFormLocator firstformlocator = PageFactory.initElements(driver,WebsiteappFirstFormLocator.class);
			
			WebsiteappSecondForm secondform = PageFactory.initElements(driver, WebsiteappSecondForm.class);
			
			WebsiteappSecondFormLocator secondformlocator = PageFactory.initElements(driver,WebsiteappSecondFormLocator.class);
			
			WebsiteappThreeForm thirdform = PageFactory.initElements(driver,WebsiteappThreeForm.class);
			
			WebsiteappThreeFormLocator thirdformlocator = PageFactory.initElements(driver,WebsiteappThreeFormLocator.class);
			
			WebsiteappFourForm fourform = PageFactory.initElements(driver,WebsiteappFourForm.class);
			
			WebsiteappFourFormLocator fourformlocator = PageFactory.initElements(driver,WebsiteappFourFormLocator.class);
			
			WebsiteappDelete appdelete = PageFactory.initElements(driver,WebsiteappDelete.class);
			
			WebsiteappDeleteLocator appdeletelocator = PageFactory.initElements(driver,WebsiteappDeleteLocator.class);

//			
			EmailReport emailreport =new EmailReport();
//			
			fistappform.addFistpage(driver,firstformlocator.appliationName(),firstformlocator.applicationPan(),firstformlocator.applicationAddhar(),firstformlocator.applicationEmail(),
					firstformlocator.applicationMobile(),firstformlocator.purposeSelect(),firstformlocator.purposeList(),firstformlocator.selectmerchantList(),firstformlocator.passmercahntName(),
					firstformlocator.clickMerchant(),firstformlocator.selectCenter(),firstformlocator.passcenterName(),firstformlocator.clickCenter(),firstformlocator.productName(),firstformlocator.uniqueId(),
					firstformlocator.durationYear(),firstformlocator.durationMonth(),firstformlocator.loanAmount(),firstformlocator.emiSelect(),firstformlocator.Tenure(),firstformlocator.langaugeSelect(),
					firstformlocator.langaugeList(),firstformlocator.hereaboutSelect(),firstformlocator.hereaboutList(),firstformlocator.verifyOtp(),firstformlocator.verifyotpInput(),firstformlocator.verifyotpButton(),firstformlocator.applyButton());
//			
//			
			System.out.println("First form complete");
//			
			secondform.addSecondpage(driver, secondformlocator.dobyearClick(),secondformlocator.dobyearSelect(),secondformlocator.dobmonthClick(), secondformlocator.dobmonthSelect(), secondformlocator.dayClick(),
					secondformlocator.daySelect(), secondformlocator.maritalClick(), secondformlocator.maritalSelect(), secondformlocator.currentAddress(), secondformlocator.stateSelect(),secondformlocator.stateSearch(), 
					secondformlocator.stateClick(), secondformlocator.addressCity(), secondformlocator.addressPincode(), secondformlocator.addressLandmark(), secondformlocator.addressstatusSelect(), secondformlocator.addressstatusClick(),
					secondformlocator.altrnativeNumber(),secondformlocator.nextbuttonSecondform());
//			
			System.out.println("Second form complete");
//
//			
			thirdform.addThirdpage(driver, thirdformlocator.employmentstatusSelect(), thirdformlocator.employmentstatusClick(), thirdformlocator.monthlyIncome(), 
					thirdformlocator.companyName(), thirdformlocator.nextbuttonthirdButton());
//			
			System.out.println("Third form complete");
//
			fourform.addFourpage(driver, fourformlocator.panfileUpload(), fourformlocator.addharfileUpload(), fourformlocator.addharbackfileUpload(), fourformlocator.applyButton());
			
			System.out.println("Fourth form complete");
			
			appdelete.deleteAppAdmin(driver, appdeletelocator.signwithOtp(), appdeletelocator.entermobileNumber(), appdeletelocator.clicksigOtp(), 
					appdeletelocator.enterOtp(), appdeletelocator.signOtp(), appdeletelocator.dropdownMenu(), appdeletelocator.mobilenumberFilter(), appdeletelocator.mobilenumberEnter(), 
					appdeletelocator.searchmobileNumber(),appdeletelocator.deleteappButton(),appdeletelocator.deleteappConfrim());
			
			emailreport.emailSend();
			
			System.out.println("Email Send Successfully");

       
			
		}
		catch (Exception e)
		{
			System.out.println(e);
		}
		
	}
}
