public void KPI_VerifyCashOnCashCalculation()
 {
     try
     {
         test = extent.CreateTest("KPI_VerifyCashOnCashCalculation").Info("Test Started");
         NavigationMenuPage navigation = new NavigationMenuPage(BaseTest.driver);
         AssetSummaryPage   asset      = new AssetSummaryPage(BaseTest.driver);
         Asset_OperatingSummaryAndMapsPage operating = new Asset_OperatingSummaryAndMapsPage(BaseTest.driver);
         navigation.ClickMainMenu();
         navigation.ClickPropertyMaintenanceOption();
         asset.NavigateToPropertyDetails();
         operating.ClickOperatingSummarytab();
         operating.RadioButton_SelectYTD();
         double original   = operating.KPI_ActualCachOnCashYieldValue();
         double calculated = operating.KPI_Calculate_CachOnCashValue();
         Assert.IsTrue(original == calculated, $"Value displayed in KPI:'{original}' does not match:'{calculated}'");
         test.Log(Status.Pass, "Test Case passed");
     }
     catch (Exception e)
     {
         test.Log(Status.Fail, "Test Case Failed");
         baseTest.TakeScreenshot();
         Console.WriteLine(e.StackTrace);
     }
 }
 public void Maps_VerifyUserCanSeePropertyNamesonMapPopUp()
 {
     try
     {
         test = extent.CreateTest("Maps_VerifyUserOpensMapOfTheProperty").Info("Test Started");
         NavigationMenuPage navigation = new NavigationMenuPage(BaseTest.driver);
         Asset_OperatingSummaryAndMapsPage operating    = new Asset_OperatingSummaryAndMapsPage(BaseTest.driver);
         AssetPropertyDetailsPage          assetdetails = new AssetPropertyDetailsPage(BaseTest.driver);
         AssetSummaryPage asset = new AssetSummaryPage(BaseTest.driver);
         navigation.ClickMainMenu();
         navigation.ClickPropertyMaintenanceOption();
         Thread.Sleep(3000);
         asset.NavigateToPropertyDetails();
         assetdetails.selectPropertyWithIndustrialType();
         operating.clickMapsTab();
         String propSelected   = operating.ReturnCurrentPropertySelected();
         String propnameonMaps = operating.VerifyPropertyNameOnMapScreen();
         Assert.IsTrue(propSelected == propnameonMaps, "User does not navigate to maps");
         test.Log(Status.Pass, "Test Case passed");
     }
     catch (Exception e)
     {
         test.Log(Status.Fail, "Test Case Failed");
         baseTest.TakeScreenshot();
         Console.WriteLine(e.StackTrace);
     }
 }
 public void OperatingSummary_VerifyMaximizeAndMinimizeWorks()
 {
     try
     {
         test = extent.CreateTest("OperatingSummary_VerifyMaximizeAndMinimizeWorks").Info("Test Started");
         NavigationMenuPage navigation = new NavigationMenuPage(BaseTest.driver);
         AssetSummaryPage   asset      = new AssetSummaryPage(BaseTest.driver);
         Asset_OperatingSummaryAndMapsPage operating = new Asset_OperatingSummaryAndMapsPage(BaseTest.driver);
         navigation.ClickMainMenu();
         navigation.ClickPropertyMaintenanceOption();
         Thread.Sleep(3000);
         asset.NavigateToPropertyDetails();
         Thread.Sleep(4000);
         operating.ClickOperatingSummarytab();
         Boolean res = operating.OperatingSummary_minimizeWorks();
         Assert.IsTrue(res == true, "Operating Summary minimize maximize works");
         test.Log(Status.Pass, "Test Case passed");
     }
     catch (Exception e)
     {
         test.Log(Status.Fail, "Test Case Failed");
         baseTest.TakeScreenshot();
         Console.WriteLine(e.StackTrace);
     }
 }
 public void OperatingSummary_VerifyYearlyIsSelected()
 {
     try
     {
         test = extent.CreateTest("OperatingSummary_VerifyYearlyIsSelected").Info("Test Started");
         NavigationMenuPage navigation = new NavigationMenuPage(BaseTest.driver);
         AssetSummaryPage   asset      = new AssetSummaryPage(BaseTest.driver);
         Asset_OperatingSummaryAndMapsPage operating = new Asset_OperatingSummaryAndMapsPage(BaseTest.driver);
         navigation.ClickMainMenu();
         navigation.ClickPropertyMaintenanceOption();
         Thread.Sleep(3000);
         asset.NavigateToPropertyDetails();
         operating.ClickOperatingSummarytab();
         operating.RadioButton_SelectYearly();
         String label1 = operating.OperatingSummary_ReturnColumnLablel1();
         String label2 = operating.OperatingSummary_ReturnColumnLablel2();
         String label3 = operating.OperatingSummary_ReturnColumnLablel3();
         Assert.IsTrue(label1 == "Yearly Actual" && label2 == "Yearly Budget" && label3 == "Yearly Proforma", $"Operating summary label{label1} does not macth with actual");
         test.Log(Status.Pass, "Test Case passed");
     }
     catch (Exception e)
     {
         test.Log(Status.Fail, "Test Case Failed");
         baseTest.TakeScreenshot();
         Console.WriteLine(e.StackTrace);
     }
 }
 public void KPI_VerifyCalculationForOccupancy()
 {
     try
     {
         test = extent.CreateTest("KPI_VerifyColumnHeaderLabels").Info("Test Started");
         NavigationMenuPage navigation = new NavigationMenuPage(BaseTest.driver);
         AssetSummaryPage   asset      = new AssetSummaryPage(BaseTest.driver);
         Asset_OperatingSummaryAndMapsPage operating = new Asset_OperatingSummaryAndMapsPage(BaseTest.driver);
         navigation.ClickMainMenu();
         navigation.ClickPropertyMaintenanceOption();
         Thread.Sleep(3000);
         asset.NavigateToPropertyDetails();
         int expected = operating.ReturnLeasedPercentValue();
         operating.ClickOperatingSummarytab();
         int actual = operating.ReturnOccupancyValue();
         Assert.IsTrue(expected == actual, $"Leased percent:{expected} does not match occupancy in KPI:{actual}");
         test.Log(Status.Pass, "Test Case passed");
     }
     catch (Exception e)
     {
         test.Log(Status.Fail, "Test Case Failed");
         baseTest.TakeScreenshot();
         Console.WriteLine(e.StackTrace);
     }
 }
 public void KPI_VerifyColumnHeaderLabels()
 {
     try
     {
         test = extent.CreateTest("KPI_VerifyColumnHeaderLabels").Info("Test Started");
         NavigationMenuPage navigation = new NavigationMenuPage(BaseTest.driver);
         AssetSummaryPage   asset      = new AssetSummaryPage(BaseTest.driver);
         Asset_OperatingSummaryAndMapsPage operating = new Asset_OperatingSummaryAndMapsPage(BaseTest.driver);
         navigation.ClickMainMenu();
         navigation.ClickPropertyMaintenanceOption();
         Thread.Sleep(3000);
         asset.NavigateToPropertyDetails();
         operating.ClickOperatingSummarytab();
         String actual   = operating.KPI_VerifyColumnLabelActual();
         String budget   = operating.KPI_VerifyColumnLabelBudget();
         String Proforma = operating.KPI_VerifyColumnLabelProforma();
         Assert.IsTrue(actual == "YTD Actual", $"Expected:'YTD Actual' does not match actual {actual}");
         Assert.IsTrue(budget == "YTD Budget", $"Expected:'YTD Budget' does not match actual {budget}");
         Assert.IsTrue(Proforma == "YTD Proforma", $"Expected:'YTD Proforma' does not match actual {Proforma}");
         test.Log(Status.Pass, "Test Case passed");
     }
     catch (Exception e)
     {
         test.Log(Status.Fail, "Test Case Failed");
         baseTest.TakeScreenshot();
         Console.WriteLine(e.StackTrace);
     }
 }
 public void KPI_VerifyFieldLabels()
 {
     try
     {
         test = extent.CreateTest("KPI_VerifyFieldLabels").Info("Test Started");
         NavigationMenuPage navigation = new NavigationMenuPage(BaseTest.driver);
         AssetSummaryPage   asset      = new AssetSummaryPage(BaseTest.driver);
         Asset_OperatingSummaryAndMapsPage operating = new Asset_OperatingSummaryAndMapsPage(BaseTest.driver);
         navigation.ClickMainMenu();
         navigation.ClickPropertyMaintenanceOption();
         Thread.Sleep(3000);
         asset.NavigateToPropertyDetails();
         operating.ClickOperatingSummarytab();
         String occupancy   = operating.KPI_VerifyLabelOccupancy();
         String InPlaceRent = operating.KPI_VerifyLabelinPlaceRent();
         String Yoc         = operating.KPI_VerifyLabelYOC();
         String CashOnCash  = operating.KPI_VerifyLabelCashOnCash();
         String DebtYeild   = operating.KPI_VerifyLabelDebtYield();
         String dscr        = operating.KPI_VerifyLabelDSCR();
         Assert.IsTrue(occupancy == "Occupancy", $"Expected:'Occupancy' does not match actual {occupancy}");
         Assert.IsTrue(InPlaceRent == "In Place Avg Rent", $"Expected:'In Place Avg Rent' does not match actual {InPlaceRent}");
         Assert.IsTrue(Yoc == "YOC", $"Expected:'YOC' does not match actual {Yoc}");
         Assert.IsTrue(CashOnCash == "Cash on Cash Yield", $"Expected:'Cash on Cash Yield' does not match actual {CashOnCash}");
         Assert.IsTrue(DebtYeild == "Debt Yield", $"Expected:'Debt Yield' does not match actual {DebtYeild}");
         Assert.IsTrue(dscr == "DSCR", $"Expected:'DSCR' does not match actual {dscr}");
         test.Log(Status.Pass, "Test Case passed");
     }
     catch (Exception e)
     {
         test.Log(Status.Fail, "Test Case Failed");
         baseTest.TakeScreenshot();
         Console.WriteLine(e.StackTrace);
     }
 }
 public void Maps_OpenPropertyAddressInGoogleMap()
 {
     try
     {
         test = extent.CreateTest("Maps_OpenPropertyAddressInGoogleMap").Info("Test Started");
         NavigationMenuPage navigation = new NavigationMenuPage(BaseTest.driver);
         AssetSummaryPage   asset      = new AssetSummaryPage(BaseTest.driver);
         Asset_OperatingSummaryAndMapsPage operating = new Asset_OperatingSummaryAndMapsPage(BaseTest.driver);
         navigation.ClickMainMenu();
         navigation.ClickPropertyMaintenanceOption();
         Thread.Sleep(3000);
         asset.NavigateToPropertyDetails();
         operating.clickMapsTab();
         Boolean res = operating.NavigateToViewInGoogleMaps();
         Assert.IsTrue(res == true, "Google map links does not open in new tab");
         test.Log(Status.Pass, "Test Case passed");
     }
     catch (Exception e)
     {
         test.Log(Status.Fail, "Test Case Failed");
         baseTest.TakeScreenshot();
         Console.WriteLine(e.StackTrace);
     }
 }