public void TC34_VerifyBuyBlockTradeWithOutLockedInTest() { instrument = TestData.GetData("Instrument"); orderType = TestData.GetData("OrderType"); menuTab = TestData.GetData("MenuTab"); buyTab = TestData.GetData("BuyTab"); sellTab = TestData.GetData("SellTab"); orderSize = TestData.GetData("OrderSize"); limitPrice = TestData.GetData("LimitPrice"); timeInForce = TestData.GetData("TimeInForce"); counterParty = TestData.GetData("TC34_CounterPartyPrice"); counterPartyPrice = TestData.GetData("TC34_CounterPartyPrice"); productBoughtPrice = TestData.GetData("TC34_ProductBoughtPrice"); productSoldPrice = TestData.GetData("TC34_ProductSoldPrice"); blocktradeReportStatus = TestData.GetData("TC34_TradeReportStatus"); userWithBadge = TestData.GetData("TC34_UserWithBadge"); userWithPermissions = TestData.GetData("TC34_UserWithPermissions"); submitBlockTradePermission = TestData.GetData("TC34_SubmitBlockTradePermission"); getOpenTradeReportsPermission = TestData.GetData("TC34_GetOpenTradeReportsPermission"); userByID = TestData.GetData("TC34_UserByID"); counterPartyAccountID = TestData.GetData("TC34_CounterPartyAccountID"); buyerAccountID = TestData.GetData("TC34_BuyerAccountID"); badgeIdNumber = TestData.GetData("TC34_BadgeNumber"); status = TestData.GetData("TC34_Status"); blockTradeCounterPartyID = TestData.GetData("TC34_BLockTradeCounterPartyAccountID"); AdminFunctions objAdminFunctions = new AdminFunctions(TestProgressLogger); AdminCommonFunctions objAdminCommonFunctions = new AdminCommonFunctions(TestProgressLogger); UserFunctions userfuntionality = new UserFunctions(TestProgressLogger); ReportBlockTradePage objReportBlockTradePage = new ReportBlockTradePage(TestProgressLogger); UserFunctions objUserFunctions = new UserFunctions(TestProgressLogger); try { TestProgressLogger.StartTest(); objAdminFunctions.AdminLogIn(TestProgressLogger); objAdminCommonFunctions.UserByIDText(userByID); objAdminCommonFunctions.OpenUserButton(); objAdminCommonFunctions.UserPermissionButton(); objAdminCommonFunctions.AddSubmitBlockTradePermissions(submitBlockTradePermission); objAdminCommonFunctions.ClearTextBox(); objAdminCommonFunctions.AddGetOpenTradeReportsPermissions(getOpenTradeReportsPermission); objAdminCommonFunctions.ClosePermissionWindow(); Thread.Sleep(2000); objAdminCommonFunctions.SelectAccountsMenu(); objAdminCommonFunctions.OpenAccountByIDText(counterPartyAccountID); objAdminCommonFunctions.OpenAccountBtn(); objAdminCommonFunctions.OpenAddNewBadgeButtonForUser(); objAdminCommonFunctions.SubmitCreateAccountBadgeButton(); Thread.Sleep(2000); objAdminCommonFunctions.UserBadgeIDValue(badgeIdNumber); objAdminCommonFunctions.CreateBadgeAccount(); Thread.Sleep(2000); objAdminCommonFunctions.UserMenuBtn(); objAdminFunctions.AdminLogOut(); userfuntionality.LogIn(TestProgressLogger, Const.USER6); Thread.Sleep(2000); UserCommonFunctions.DashBoardMenuButton(driver); UserCommonFunctions.SelectAnExchange(driver); UserCommonFunctions.SelectInstrumentFromExchange(instrument, driver); Thread.Sleep(3000); UserCommonFunctions.ScrollingDownVertical(driver); objReportBlockTradePage.ReportBlockTradeButton(); objReportBlockTradePage.VerifyReportBlockTradeWindow(); objReportBlockTradePage.VerifyDropdownInstrument(); objReportBlockTradePage.VerifyCounterParty(); objReportBlockTradePage.VerifyProductBought(); objReportBlockTradePage.VerifyProductSold(); objReportBlockTradePage.VerifyFees(); objReportBlockTradePage.VerifyBalances(); objReportBlockTradePage.SubmitBlockTradeReportWithoutLockedInCheckBox(instrument, counterPartyPrice, productBoughtPrice, productSoldPrice, counterParty, buyTab, blocktradeReportStatus); objUserFunctions.LogOut(); userfuntionality.LogIn(TestProgressLogger, Const.USER5); Thread.Sleep(2000); UserCommonFunctions.DashBoardMenuButton(driver); UserCommonFunctions.SelectAnExchange(driver); UserCommonFunctions.SelectInstrumentFromExchange(instrument, driver); Thread.Sleep(3000); UserCommonFunctions.ScrollingDownVertical(driver); objReportBlockTradePage.ReportBlockTradeButton(); objReportBlockTradePage.SubmitBlockTradeReportWithoutLockedInCheckBox(instrument, counterPartyPrice, productBoughtPrice, productSoldPrice, counterParty, buyTab, blocktradeReportStatus); objUserFunctions.LogOut(); objAdminFunctions.AdminLogIn(TestProgressLogger); objAdminCommonFunctions.SelectTradeMenu(); objAdminCommonFunctions.BlockTradeBtn(); objAdminCommonFunctions.BlockTradeInstrumentSelection(instrument); objAdminCommonFunctions.VerifyBlockTradeList(blockTradeCounterPartyID, counterPartyAccountID, status, instrument, buyTab, productBoughtPrice); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.BlockTradeWithOutLockedInTestPassedMsg, buyTab)); TestProgressLogger.EndTest(); } catch (NoSuchElementException ex) { TestProgressLogger.TakeScreenshot(); TestProgressLogger.LogCheckPoint(ex.Message + ex.StackTrace); } catch (Exception e) { TestProgressLogger.TakeScreenshot(); TestProgressLogger.Error(String.Format(LogMessage.BlockTradeWithOutLockedInTestFailedMsg, buyTab), e); } finally { objAdminCommonFunctions.UserMenuBtn(); objAdminFunctions.AdminLogOut(); } }
public void TC34_VerifyBuyBlockTradeWithOutLockedInTest() { instrument = TestData.GetData("Instrument"); orderType = TestData.GetData("OrderType"); menuTab = TestData.GetData("MenuTab"); buyTab = TestData.GetData("BuyTab"); sellTab = TestData.GetData("SellTab"); orderSize = TestData.GetData("OrderSize"); limitPrice = TestData.GetData("LimitPrice"); timeInForce = TestData.GetData("TimeInForce"); counterParty = TestData.GetData("TC34_CounterPartyPrice"); counterPartyPrice = TestData.GetData("TC34_CounterPartyPrice"); productBoughtPrice = TestData.GetData("TC34_ProductBoughtPrice"); productSoldPrice = TestData.GetData("TC34_ProductSoldPrice"); blocktradeReportStatus = TestData.GetData("TC34_TradeReportStatus"); userWithBadge = TestData.GetData("TC34_UserWithBadge"); userWithPermissions = TestData.GetData("TC34_UserWithPermissions"); submitBlockTradePermission = TestData.GetData("TC34_SubmitBlockTradePermission"); getOpenTradeReportsPermission = TestData.GetData("TC34_GetOpenTradeReportsPermission"); userByID = TestData.GetData("TC34_UserByID"); counterPartyAccountID = TestData.GetData("TC34_CounterPartyAccountID"); buyerAccountID = TestData.GetData("TC34_BuyerAccountID"); badgeIdNumber = TestData.GetData("TC34_BadgeNumber"); status = TestData.GetData("TC34_Status"); blockTradeCounterPartyID = TestData.GetData("TC34_BLockTradeCounterPartyAccountID"); AdminFunctions objAdminFunctions = new AdminFunctions(TestProgressLogger); AdminCommonFunctions objAdminCommonFunctions = new AdminCommonFunctions(TestProgressLogger); UserFunctions userfuntionality = new UserFunctions(TestProgressLogger); ReportBlockTradePage objReportBlockTradePage = new ReportBlockTradePage(TestProgressLogger); UserFunctions objUserFunctions = new UserFunctions(TestProgressLogger); try { TestProgressLogger.StartTest(); // The admin will create an badge to user say XYZ and provide the submitblock, getopentradereport permission to user say ABC // Login as Admin objAdminFunctions.AdminLogIn(TestProgressLogger); // Enter "userID"(ex. 185) in the "OpenUserbyID" textfield objAdminCommonFunctions.UserByIDText(userByID); // Click on "Open" button --> click on "Add permission" button --> provide SubmitBlockTrade and GetOpenTradeReports objAdminCommonFunctions.OpenUserButton(); objAdminCommonFunctions.UserPermissionButton(); objAdminCommonFunctions.AddSubmitBlockTradePermissions(submitBlockTradePermission); objAdminCommonFunctions.ClearTextBox(); objAdminCommonFunctions.AddGetOpenTradeReportsPermissions(getOpenTradeReportsPermission); objAdminCommonFunctions.ClosePermissionWindow(); Thread.Sleep(2000); // Click on "Accounts" menu button --> Enter "accountID"(195) in the "OpenAccountbyID" textfield --> Click on "Open" button objAdminCommonFunctions.SelectAccountsMenu(); objAdminCommonFunctions.OpenAccountByIDText(counterPartyAccountID); objAdminCommonFunctions.OpenAccountBtn(); // Click on "Add New Badge" button --> provide badge number and click on create button objAdminCommonFunctions.OpenAddNewBadgeButtonForUser(); objAdminCommonFunctions.SubmitCreateAccountBadgeButton(); Thread.Sleep(2000); objAdminCommonFunctions.UserBadgeIDValue(badgeIdNumber); objAdminCommonFunctions.CreateBadgeAccount(); Thread.Sleep(2000); //Logout from Admin objAdminCommonFunctions.UserMenuBtn(); objAdminFunctions.AdminLogOut(); // The user XYZ will perform a submit block trade without using lockedIn and verify the various functionalities userfuntionality.LogIn(TestProgressLogger, Const.USER6); Thread.Sleep(2000); // Click on "Dashboard" menu button --> select an exchange --> select an instrument BTCUSD UserCommonFunctions.DashBoardMenuButton(driver); UserCommonFunctions.SelectAnExchange(driver); UserCommonFunctions.SelectInstrumentFromExchange(instrument, driver); Thread.Sleep(3000); UserCommonFunctions.ScrollingDownVertical(driver); // Click on "Report Block Trade" button objReportBlockTradePage.ReportBlockTradeButton(); // Verify window for submitting block trade appears objReportBlockTradePage.VerifyReportBlockTradeWindow(); // Verify drop down for "Instrument" is present objReportBlockTradePage.VerifyDropdownInstrument(); //Verify "Counter Party" is present objReportBlockTradePage.VerifyCounterParty(); // Verify "Product Bought" is present objReportBlockTradePage.VerifyProductBought(); // Verify "Product Sold" is present objReportBlockTradePage.VerifyProductSold(); // Verify "Fee" is present objReportBlockTradePage.VerifyFees(); // Verify balances for both products(product bought and product sold) objReportBlockTradePage.VerifyBalances(); // Verify the details present in Report block trade window and submit a Buy Block trade transaction( by user2) without LockedIn checkbox objReportBlockTradePage.SubmitBlockTradeReportWithoutLockedInCheckBox(instrument, counterPartyPrice, productBoughtPrice, productSoldPrice, counterParty, buyTab, blocktradeReportStatus); // Logout from user portal objUserFunctions.LogOut(); // The user ABC will perform similar block trade provided by XYZ without using lockedIn and using "Badge" provided by "XYZ" userfuntionality.LogIn(TestProgressLogger, Const.USER5); Thread.Sleep(2000); // Click on "Dashboard" menu button --> select an exchange --> select an instrument BTCUSD UserCommonFunctions.DashBoardMenuButton(driver); UserCommonFunctions.SelectAnExchange(driver); UserCommonFunctions.SelectInstrumentFromExchange(instrument, driver); Thread.Sleep(3000); UserCommonFunctions.ScrollingDownVertical(driver); //Click on "Report Block trade" button objReportBlockTradePage.ReportBlockTradeButton(); // Verify the details present in Report block trade window and submit a Buy Block trade transaction( by user1) without LockedIn checkbox objReportBlockTradePage.SubmitBlockTradeReportWithoutLockedInCheckBox(instrument, counterPartyPrice, productBoughtPrice, productSoldPrice, counterParty, buyTab, blocktradeReportStatus); // Logout from user portal objUserFunctions.LogOut(); // The admin will verify if submitted block trade report is present in block trade tab under trade menu section // Login as Admin -> Trades -> Block Trades --> select BTCUSD instrument objAdminFunctions.AdminLogIn(TestProgressLogger); objAdminCommonFunctions.SelectTradeMenu(); objAdminCommonFunctions.BlockTradeBtn(); objAdminCommonFunctions.BlockTradeInstrumentSelection(instrument); // Verify the Trade status under Block trade tab objAdminCommonFunctions.VerifyBlockTradeList(blockTradeCounterPartyID, counterPartyAccountID, status, instrument, buyTab, productBoughtPrice); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.BlockTradeWithOutLockedInTestPassedMsg, buyTab)); TestProgressLogger.EndTest(); } catch (NoSuchElementException e) { TestProgressLogger.TakeScreenshot(); TestProgressLogger.LogCheckPoint(e.Message + e.StackTrace); TestProgressLogger.LogError(String.Format(LogMessage.BlockTradeWithOutLockedInTestFailedMsg, buyTab), e); throw e; } catch (Exception e) { TestProgressLogger.TakeScreenshot(); TestProgressLogger.LogCheckPoint(e.Message + e.StackTrace); TestProgressLogger.LogError(String.Format(LogMessage.BlockTradeWithOutLockedInTestFailedMsg, buyTab), e); throw e; } finally { objAdminCommonFunctions.UserMenuBtn(); objAdminFunctions.AdminLogOut(); } }