public void Capitalization_VerifyLTCCalculation()
 {
     try
     {
         test = extent.CreateTest("Capitalization_VerifyLTCCalculation").Info("Test Started");
         NavigationMenuPage      navigation      = new NavigationMenuPage(BaseTest.driver);
         IMTRLandingPage         imtr            = new IMTRLandingPage(BaseTest.driver);
         IMTRPropertyDetailsPage imtrPropdetails = new IMTRPropertyDetailsPage(BaseTest.driver);
         navigation.ClickMainMenu();
         navigation.ClickTrackRecordOption();
         imtr.ClickOngoingDeals();
         imtr.NavigateToIMTRPropDetail();
         double actualValue     = imtrPropdetails.Capitalization_ReturnActualLTCValue();
         double calculatedValue = imtrPropdetails.Capitalization_CalculatedLTCValue();
         Assert.IsTrue(actualValue == calculatedValue, $"Value on screen {actualValue} does not match calculated {calculatedValue}");
         test.Log(Status.Pass, "Test Case Passed");
     }
     catch (Exception e)
     {
         test.Log(Status.Fail, "Test Case Failed");
         baseTest.TakeScreenshot();
         Console.WriteLine(e.StackTrace);
         driver.Quit();
     }
 }
 public void GeneralInfo_VerifyErrorMessageDisplayedWhenSoldPriceIsSaved()
 {
     try
     {
         test = extent.CreateTest("GeneralInfo_VerifyErrorMessageDisplayedWhenSoldPriceIsSaved").Info("Test Started");
         NavigationMenuPage      navigation      = new NavigationMenuPage(BaseTest.driver);
         IMTRLandingPage         imtr            = new IMTRLandingPage(BaseTest.driver);
         IMTRPropertyDetailsPage imtrPropdetails = new IMTRPropertyDetailsPage(BaseTest.driver);
         navigation.ClickMainMenu();
         navigation.ClickTrackRecordOption();
         imtr.ClickOngoingDeals();
         imtr.NavigateToIMTRPropDetail();
         String alertText       = imtrPropdetails.GI_EditAndUpdateSoldPrice();
         double calculatedValue = imtrPropdetails.Capitalization_CalculatedLTCValue();
         Assert.IsTrue(alertText == "Please enter Disposition Date and sold Price to sell a property.", $"Expected error 'Please enter Disposition Date and sold Price to sell a property.' does not match actual{alertText}");
         test.Log(Status.Pass, "Test Case Passed");
     }
     catch (Exception e)
     {
         test.Log(Status.Fail, "Test Case Failed");
         baseTest.TakeScreenshot();
         Console.WriteLine(e.StackTrace);
         driver.Quit();
     }
 }
 public void UpdateEquitiesAndConfirmTotalReturns()
 {
     try
     {
         test = extent.CreateTest("UpdateEquitiesAndConfirmTotalReturns").Info("Test Started");
         IMTRLandingPage         imtr            = new IMTRLandingPage(BaseTest.driver);
         IMTRPropertyDetailsPage imtrPropdetails = new IMTRPropertyDetailsPage(BaseTest.driver);
         imtr.ClickTrackRecordOnInMenu();
         Thread.Sleep(3000);
         imtr.ClickOngoingDeals();
         imtr.NavigateToIMTRPropDetail();
         imtrPropdetails.EditAndInvestorEquity();
         imtrPropdetails.EditAndUpdate3rdPartyEquity();
         imtrPropdetails.EditAndUpdateSponsorReturns();
         String res = imtrPropdetails.CheckTotalReturns();
         Assert.IsTrue(res == "15,000", "Sum of equities is not correct");
         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 IMTR_GeneralInfoPropertyNameAndAcuqisitionDateisEditable()
 {
     try
     {
         test = extent.CreateTest("IMTR_GeneralInfoPropertyNameAndAcuqisitionDateisEditable").Info("Test Started");
         IMTRLandingPage         imtr            = new IMTRLandingPage(BaseTest.driver);
         IMTRPropertyDetailsPage imtrPropdetails = new IMTRPropertyDetailsPage(BaseTest.driver);
         NavigationMenuPage      navigation      = new NavigationMenuPage(BaseTest.driver);
         navigation.ClickMainMenu();
         navigation.ClickTrackRecordOption();
         imtr.ClickOngoingDeals();
         Thread.Sleep(3000);
         imtr.NavigateToIMTRPropDetail();
         Boolean propname  = imtrPropdetails.GI_EditAndUpdatePropertyName();
         Boolean acqu      = imtrPropdetails.GI_EditAndUpdateAcquisitiondate();
         Boolean dispodate = imtrPropdetails.GI_EditAndUpdateDispositionDate();
         Assert.IsTrue(propname == acqu == dispodate == true, "General Information Edit for property name, acquisition date and disposition date do not work");
         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 IMTR_VerifyFieldslabelInDistributionsSection()
 {
     try
     {
         test = extent.CreateTest("IMTR_VerifyFieldslabelInCapitalization").Info("Test Started");
         NavigationMenuPage      navigation      = new NavigationMenuPage(BaseTest.driver);
         IMTRLandingPage         imtr            = new IMTRLandingPage(BaseTest.driver);
         IMTRPropertyDetailsPage imtrPropdetails = new IMTRPropertyDetailsPage(BaseTest.driver);
         navigation.ClickMainMenu();
         navigation.ClickTrackRecordOption();
         imtr.ClickOngoingDeals();
         imtr.NavigateToIMTRPropDetail();
         Thread.Sleep(3000);
         String label1 = imtrPropdetails.ThirdPartySponsor_ReturnDistributionsReturnsLabel();
         String label2 = imtrPropdetails.StreamSponsor_ReturnDistributionsLabel();
         String label3 = imtrPropdetails.InvestorSponsor_ReturnDistributionslabel();
         String label4 = imtrPropdetails.TotalReturns_ReturnDistributionsLabel();
         Assert.IsTrue(label1 == "3rd-Party Sponsor Distributions", $"Expected:'3rd-Party Sponsor Distributions' does not match actual:{label1}");
         Assert.IsTrue(label2 == "Stream Sponsor Distributions", $"Expected:'Stream Sponsor Distributions' does not match actual:{label2}");
         Assert.IsTrue(label3 == "Investor Distributions", $"Expected:'Investor Distributions' does not match actual:{label3}");
         Assert.IsTrue(label4 == "Total Distributions", $"Expected:'Total Distributions' does not match actual:{label4}");
         test.Log(Status.Pass, "Test Case Passed");
     }
     catch (Exception e)
     {
         test.Log(Status.Fail, "Test Case Failed");
         baseTest.TakeScreenshot();
         Console.WriteLine(e.StackTrace);
         driver.Quit();
     }
 }
 public void IMTR_VerifyFieldslabelInPurchaseAndExistPrice()
 {
     try
     {
         test = extent.CreateTest("IMTR_VerifyFieldslabelInPurchaseAndExistPrice").Info("Test Started");
         NavigationMenuPage      navigation      = new NavigationMenuPage(BaseTest.driver);
         IMTRLandingPage         imtr            = new IMTRLandingPage(BaseTest.driver);
         IMTRPropertyDetailsPage imtrPropdetails = new IMTRPropertyDetailsPage(BaseTest.driver);
         navigation.ClickMainMenu();
         navigation.ClickTrackRecordOption();
         imtr.ClickOngoingDeals();
         imtr.NavigateToIMTRPropDetail();
         Thread.Sleep(3000);
         String totalCost = imtrPropdetails.PurchasePriceAndExistPrice_ReturnTotalCostBasislabel();
         String exitPrice = imtrPropdetails.PurchasePriceAndExistPrice_ReturnExitPricelabel();
         Assert.IsTrue(totalCost == "Total Cost Basis", $"Expected:'Total Cost Basis' does not match actual:{totalCost}");
         Assert.IsTrue(exitPrice == "Exit Price", $"Expected:'Exit Price' does not match actual:{exitPrice}");
         test.Log(Status.Pass, "Test Case Passed");
     }
     catch (Exception e)
     {
         test.Log(Status.Fail, "Test Case Failed");
         baseTest.TakeScreenshot();
         Console.WriteLine(e.StackTrace);
         driver.Quit();
     }
 }
 public void MaximizeAndMinimizeForAllSection()
 {
     try
     {
         test = extent.CreateTest("MaximizeAndMinimizeForAllSection").Info("Test Started");
         IMTRLandingPage         imtr            = new IMTRLandingPage(BaseTest.driver);
         IMTRPropertyDetailsPage imtrPropdetails = new IMTRPropertyDetailsPage(BaseTest.driver);
         imtr.ClickTrackRecordOnInMenu();
         Thread.Sleep(3000);
         imtr.ClickOngoingDeals();
         imtr.NavigateToIMTRPropDetail();
         imtrPropdetails.Capitalization_MaximizeMinimize();
         imtrPropdetails.Investor_MaximizeMinimize();
         imtrPropdetails.SponsorEquity_MaximizeMinimize();
         imtrPropdetails.ThirdParty_MaximizeMinimize();
         imtrPropdetails.PurchasePrice_MaximizeMinimize();
         Boolean res = imtrPropdetails.GeneralInfo_MaximizeMinimize();
         Assert.True(res == true, "Maximize minimize does not work");
         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 IMTRDetails_EditAndUpdateCapitalization()
 {
     try
     {
         test = extent.CreateTest("IMTRDetails_EditAndUpdateCapitalization").Info("Test Started");
         IMTRLandingPage         imtr            = new IMTRLandingPage(BaseTest.driver);
         IMTRPropertyDetailsPage imtrPropdetails = new IMTRPropertyDetailsPage(BaseTest.driver);
         NavigationMenuPage      navigation      = new NavigationMenuPage(BaseTest.driver);
         navigation.ClickMainMenu();
         navigation.ClickTrackRecordOption();
         imtr.ClickOngoingDeals();
         imtr.NavigateToIMTRPropDetail();
         Boolean debt = imtrPropdetails.Capitalization_EditandUpdateDebtField();
         Assert.IsTrue(debt == true, "Debt Value is not correctly updated");
         Boolean eQ1 = imtrPropdetails.Capitalization_EditandUpdateInvestorEquity();
         Assert.IsTrue(eQ1 == true, "Investor equity Value is not correctly updated");
         Boolean eQ2 = imtrPropdetails.Capitalization_EditandUpdateStreamEquity();
         Assert.IsTrue(eQ2 == true, "Stream Equity Value is not correctly updated");
         Boolean eQ3 = imtrPropdetails.Capitalization_EditandUpdateOutsideEquityEquity();
         Assert.IsTrue(eQ3 == true, "Outside Equity Value is not correctly updated");
         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 IMTR_GeneralInfoPurchasePriceAndRSFFieldsAreEditable()
 {
     try
     {
         test = extent.CreateTest("IMTR_GeneralInfoPurchasePriceAndRSFFieldsAreEditable").Info("Test Started");
         IMTRLandingPage         imtr            = new IMTRLandingPage(BaseTest.driver);
         IMTRPropertyDetailsPage imtrPropdetails = new IMTRPropertyDetailsPage(BaseTest.driver);
         NavigationMenuPage      navigation      = new NavigationMenuPage(BaseTest.driver);
         navigation.ClickMainMenu();
         navigation.ClickTrackRecordOption();
         imtr.ClickOngoingDeals();
         imtr.NavigateToIMTRPropDetail();
         Boolean purchase = imtrPropdetails.GI_EditAndUpdatePurchasePrice();
         Assert.IsTrue(purchase == true, "Purchase Price field is not editable");
         Boolean rsf = imtrPropdetails.GI_EditAndUpdateRSFValue();
         Assert.IsTrue(rsf == true, "RSF field is not editable");
         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 IMTR_GeneralInfoAllDropdownsAreEditable()
 {
     try
     {
         test = extent.CreateTest("IMTR_GeneralInfoAllDropdownsAreEditable").Info("Test Started");
         IMTRLandingPage         imtr            = new IMTRLandingPage(BaseTest.driver);
         IMTRPropertyDetailsPage imtrPropdetails = new IMTRPropertyDetailsPage(BaseTest.driver);
         NavigationMenuPage      navigation      = new NavigationMenuPage(BaseTest.driver);
         navigation.ClickMainMenu();
         navigation.ClickTrackRecordOption();
         imtr.ClickOngoingDeals();
         imtr.NavigateToIMTRPropDetail();
         Boolean market = imtrPropdetails.GI_EditAndUpdatePMarketValue();
         Assert.IsTrue(market == true, "Market field is not editable");
         Boolean proType = imtrPropdetails.GI_EditAndUpdateProductType();
         Assert.IsTrue(proType == true, "product type field is not editable");
         Boolean dealType = imtrPropdetails.GI_EditAndUpdateDealType();
         Assert.IsTrue(dealType == true, "deal type field is not editable");
         Boolean source = imtrPropdetails.GI_EditAndUpdateSourcingMethod();
         Assert.IsTrue(source == true, "sourcing method field is not editable");
         Boolean coinvest = imtrPropdetails.GI_EditAndUpdateCoInvestor();
         Assert.IsTrue(coinvest == true, "Co invest field is not editable");
         Boolean lender = imtrPropdetails.GI_EditAndUpdateLenderName();
         Assert.IsTrue(lender == true, "lender field is not editable");
         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 IMTRDetails_VerifySectionTitles()
        {
            try
            {
                test = extent.CreateTest("IMTRDetails_VerifySectionTitles(").Info("Test Started");
                //Pre-requisite: User navigates to contingent property details screen
                NavigationMenuPage      navigation      = new NavigationMenuPage(BaseTest.driver);
                IMTRLandingPage         imtr            = new IMTRLandingPage(BaseTest.driver);
                IMTRPropertyDetailsPage imtrPropdetails = new IMTRPropertyDetailsPage(BaseTest.driver);
                navigation.ClickMainMenu();
                navigation.ClickTrackRecordOption();
                imtr.ClickOngoingDeals();
                imtr.NavigateToIMTRPropDetail();
                Thread.Sleep(3000);
                //Verifying section titles
                String section1 = imtrPropdetails.ReturnGeneralInfoSectionLabel();
                Assert.IsTrue(section1 == "GENERAL INFORMATION", $"Expected-'GENERAL INFORMATION' section title does not match actual{section1}");

                String section2 = imtrPropdetails.ReturnPurchaseVsExitSectionlabel();
                Assert.IsTrue(section2 == "PURCHASE VS. EXIT", $"Expected-'PURCHASE VS. EXIT' section title does not match actual{section2}");

                String section3 = imtrPropdetails.ReturnCapitalizationSectionlabel();
                Assert.IsTrue(section3 == "CAPITALIZATION", $"Expected-'CAPITALIZATION' section title does not match actual{section3}");

                String section4 = imtrPropdetails.ReturnThirdPartyEquitySectionlabel();
                Assert.IsTrue(section4 == "3RD - PARTY SPONSOR RETURNS", $"3RD - PARTY SPONSOR RETURNS' section title does not match actual{section4}");

                String section5 = imtrPropdetails.ReturnSponsorEquitySectionlabel();
                Assert.IsTrue(section5 == "SPONSOR RETURNS - STREAM", $"Expected-'SPONSOR RETURNS - STREAM' section title does not match actual{section5}");

                String section6 = imtrPropdetails.ReturnInvestorEquitySectionlabel();
                Assert.IsTrue(section6 == "INVESTOR RETURNS", $"Expected-'INVESTOR RETURNS' section title does not match actual{section6}");

                String section7 = imtrPropdetails.ReturnTotalEquitySectionlabel();
                Assert.IsTrue(section7 == "TOTAL RETURNS", $"Expected-'TOTAL RETURNS' section title does not match actual{section7}");
                test.Log(Status.Pass, "Test Case Passed");
            }
            catch (Exception e)
            {
                test.Log(Status.Fail, "Test Case Failed");
                baseTest.TakeScreenshot();
                Console.WriteLine(e.StackTrace);
                driver.Quit();
            }
        }
        public void VerifyPropertyTypeIsOngoing()
        {
            BaseTest baseTest = new BaseTest();

            try
            {
                test = extent.CreateTest("VerifyPropertyTypeIsOngoing").Info("Test Started");
                IMTRLandingPage         imtr            = new IMTRLandingPage(BaseTest.driver);
                IMTRPropertyDetailsPage imtrPropdetails = new IMTRPropertyDetailsPage(BaseTest.driver);
                imtr.ClickTrackRecordOnInMenu();
                imtr.ClickOngoingDeals();
                imtr.NavigateToIMTRPropDetail();
                String dealtype = imtrPropdetails.ReturnPropertyDealType();
                Assert.AreEqual("Ongoing", dealtype, "Property is not ongoing property");
                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 UpdateExitPriceFromPurchaseVsExit()
 {
     try
     {
         test = extent.CreateTest("UpdateExitPriceFromPurchaseVsExit").Info("Test Started");
         IMTRLandingPage         imtr            = new IMTRLandingPage(BaseTest.driver);
         IMTRPropertyDetailsPage imtrPropdetails = new IMTRPropertyDetailsPage(BaseTest.driver);
         NavigationMenuPage      navigation      = new NavigationMenuPage(BaseTest.driver);
         navigation.ClickMainMenu();
         navigation.ClickTrackRecordOption();
         imtr.ClickOngoingDeals();
         imtr.NavigateToIMTRPropDetail();
         Boolean res = imtrPropdetails.EditAndUpdateExitPrice();
         Assert.IsTrue(res == true, "Exit Price Value not correctly updated");
         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 IMTR_VerifyFieldslabelInCapitalization()
 {
     try
     {
         test = extent.CreateTest("IMTR_VerifyFieldslabelInCapitalization").Info("Test Started");
         NavigationMenuPage      navigation      = new NavigationMenuPage(BaseTest.driver);
         IMTRLandingPage         imtr            = new IMTRLandingPage(BaseTest.driver);
         IMTRPropertyDetailsPage imtrPropdetails = new IMTRPropertyDetailsPage(BaseTest.driver);
         navigation.ClickMainMenu();
         navigation.ClickTrackRecordOption();
         imtr.ClickOngoingDeals();
         imtr.NavigateToIMTRPropDetail();
         Thread.Sleep(3000);
         String label1 = imtrPropdetails.Capitalization_ReturnTotalCapitalabel();
         String label2 = imtrPropdetails.Capitalization_ReturnDebtlabel();
         String label3 = imtrPropdetails.Capitalization_ReturnTotalequitylabel();
         String label4 = imtrPropdetails.Capitalization_ReturnLTClabel();
         String label5 = imtrPropdetails.Capitalization_ReturnInvestorEquitylabel();
         String label6 = imtrPropdetails.Capitalization_ReturnStreamEquityExitPricelabel();
         String label7 = imtrPropdetails.Capitalization_ReturnOutsideSponsorlabel();
         Assert.IsTrue(label1 == "Total Capitalization", $"Expected:'Total Capitalization' does not match actual:{label1}");
         Assert.IsTrue(label2 == "Debt", $"Expected:'Debt' does not match actual:{label2}");
         Assert.IsTrue(label3 == "Total Equity", $"Expected:'Total Equity' does not match actual:{label3}");
         Assert.IsTrue(label4 == "LTC", $"Expected:'LTC' does not match actual:{label4}");
         Assert.IsTrue(label5 == "Investor Equity", $"Expected:'Investor Equity' does not match actual:{label5}");
         Assert.IsTrue(label6 == "Stream Sponsor Equity", $"Expected:'Stream Sponsor Equity' does not match actual:{label6}");
         Assert.IsTrue(label7 == "Outside Sponsor Equity", $"Expected:'Outside Sponsor Equity' does not match actual:{label7}");
         test.Log(Status.Pass, "Test Case Passed");
     }
     catch (Exception e)
     {
         test.Log(Status.Fail, "Test Case Failed");
         baseTest.TakeScreenshot();
         Console.WriteLine(e.StackTrace);
         driver.Quit();
     }
 }
 public void InvestorDistributions_VerifyNoDataChangesmadeMessageDisplayed()
 {
     try
     {
         test = extent.CreateTest("InvestorDistributions_VerifyNoDataChangesmadeMessageDisplayed").Info("Test Started");
         NavigationMenuPage      navigation      = new NavigationMenuPage(BaseTest.driver);
         IMTRLandingPage         imtr            = new IMTRLandingPage(BaseTest.driver);
         IMTRPropertyDetailsPage imtrPropdetails = new IMTRPropertyDetailsPage(BaseTest.driver);
         navigation.ClickMainMenu();
         navigation.ClickTrackRecordOption();
         imtr.ClickOngoingDeals();
         imtr.NavigateToIMTRPropDetail();
         String alertText = imtrPropdetails.Investorequity_VerifyErrorNoChangesmade();
         Assert.IsTrue(alertText == "No changes made in data...", $"Expected error 'No changes made in data...' does not match actual{alertText}");
         test.Log(Status.Pass, "Test Case Passed");
     }
     catch (Exception e)
     {
         test.Log(Status.Fail, "Test Case Failed");
         baseTest.TakeScreenshot();
         Console.WriteLine(e.StackTrace);
         driver.Quit();
     }
 }