public void ThenISeeClaimsDisplayOnTheListWithValidDataInOrder() { Dictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add("CaseId", Convert.ToString(CaseDetailSteps.GetCaseIdFromCaseNumber(ScenarioContext.Current.Get <string>("Case Number")))); parameters.Add("OfficeId", Convert.ToString(CommonDBSteps.GetConfigOfficeId())); DataRowCollection expected = ExecuteQueryOnDB(Properties.Resources.GetClaimsDetailsByCaseId, parameters); IEnumerator <ClaimData> actualClaims = claimsTab.GetFirstNClaims(expected.Count).GetEnumerator(); actualClaims.MoveNext(); foreach (DataRow claimFromDB in expected) { ClaimData claim = actualClaims.Current; claim.ClaimNumber.Trim().Should().Be(claimFromDB.Field <string>("ClaimNumber").Trim(), "[" + claim.Id + "] Claim Number is correct"); claim.CreditorName.Should().BeEquivalentTo(claimFromDB.Field <string>("CreditorName").TrimEnd(), "[" + claim.Id + "] Claim Creditor Name is correct"); string status = claimFromDB.Field <string>("Status"); claim.Status.Should().Be(status.ToUpper(), "[" + claim.Id + "] Claim Status is " + status); string statusColor = this.GetStatusColor(status); claim.CornerTagColor.Should().Be(statusColor, "[" + claim.Id + "] Claim Corner Tag Color is " + statusColor); string cornerTagLetter = this.getCornerTagLetter(status); claim.CornerTagLetter.Should().Be(cornerTagLetter, "[" + claim.Id + "] Claim Corner Tag Letter is " + cornerTagLetter); claim.StatusColor.Should().Be(statusColor, "[" + claim.Id + "] Claim Status Color is " + statusColor); string claimClass = claimFromDB.Field <string>("ClaimClass"); claim.Class.Should().Be(claimClass, "[" + claim.Id + "] Claim Class is " + claimClass); string classColor = this.GetCircleClassColor(claimClass); claim.CircleIndicatorColor.Should().Be(classColor, "[" + claim.Id + "] Claim Circle Ind. Color is " + classColor); claim.Category.Should().Be(claimFromDB.Field <string>("Category"), "[" + claim.Id + "] Claim Category is correct"); claim.Code.Should().Be(claimFromDB.Field <string>("Code"), "[" + claim.Id + "] Claim CODE is correct"); claim.PaySequence.Should().Be("" + claimFromDB.Field <int>("PaySequence"), "[" + claim.Id + "] Claim Pay Sequence is correct"); string expClaimedStr = this.GetClaimExpectedAmount(claimFromDB.Field <Decimal>("ClaimedAmount")); claim.Claimed.Replace(",", "").Should().Be(expClaimedStr, "[" + claim.Id + "] Claim Claimed amount is correct"); string expAllowedStr = this.GetClaimExpectedAmount(claimFromDB.Field <Decimal>("AllowedAmount")); claim.Allowed.Replace(",", "").Should().Be(expAllowedStr, "[" + claim.Id + "] Claim Allowed amount is correct"); string expPaidStr = this.GetClaimExpectedAmount(claimFromDB.Field <Decimal>("PaidAmount")); claim.Paid.Replace(",", "").Should().Be(expPaidStr, "[" + claim.Id + "] Claim Paid amount is correct"); string expReservedStr = this.GetClaimExpectedAmount(claimFromDB.Field <Decimal>("ReservedAmount")); claim.Reserved.Replace(",", "").Should().Be(expReservedStr, "[" + claim.Id + "] Claim Reserved amount is correct"); string expInterestStr = this.GetClaimExpectedAmount(claimFromDB.Field <Decimal>("Interest")); claim.Interest.Replace(",", "").Should().Be(expInterestStr, "[" + claim.Id + "] Claim Interest amount is correct"); string expBalanceStr = this.GetClaimExpectedAmount(claimFromDB.Field <Decimal>("BalanceAmount")); claim.Balance.Replace(",", "").Should().Be(expBalanceStr, "[" + claim.Id + "] Claim Balance amount is correct"); actualClaims.MoveNext(); } }
private void DeleteCreatedTransactionsByCaseId() { //remove all transactions created with text "Test Automation" from the current Case string casenbr = ScenarioContext.Current.Get <string>("Case Number"); Dictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add("CaseId", Convert.ToString(CaseDetailSteps.GetCaseIdFromCaseNumber(casenbr))); DataRowCollection rows = ExecuteQueryOnDB(Properties.Resources.DeleteAutomationCreatedTransactionsByCaseId, parameters); TestsLogger.Log("Removed all transactions created with text 'Test Automation' from Case with Caseid=" + casenbr); }
public void ThenIVerifyTheSelectedParticipantIsLinkedToTheTransactionOnDB() { //get participant id either from Claim if claim links present or from Participant table record Dictionary <string, string> parameters = new Dictionary <string, string>(); int participantId = 0; try { //If there were claim links, linked participant is claim's paticipant List <string> claimLinkIds = ScenarioContext.Current.Get <List <string> >("Claim Links Ids"); parameters.Add("ClaimId", claimLinkIds[0]); parameters.Add("CaseId", Convert.ToString(CaseDetailSteps.GetCaseIdFromCaseNumber(ScenarioContext.Current.Get <string>("Case Number")))); parameters.Add("OfficeId", Convert.ToString(CommonDBSteps.GetConfigOfficeId())); DataRowCollection rows1 = ExecuteQueryOnDB(Properties.Resources.GetParticipantIdFromClaim, parameters); participantId = Convert.ToInt32(rows1[0].ItemArray[0]); parameters.Remove("ClaimId"); parameters.Remove("CaseId"); parameters.Remove("OfficeId"); } catch (KeyNotFoundException) { //Else, there were no claim links, linked participant is new created participant string expectedParticipantName = ScenarioContext.Current.Get <string>("Participant Description"); parameters.Add("ParticipantNameLike", expectedParticipantName); DataRowCollection rows2 = ExecuteQueryOnDB(Properties.Resources.GetParticipantIdFromName, parameters); participantId = Convert.ToInt32(rows2[0].ItemArray[0]); parameters.Remove("ParticipantNameLike"); } //get participant id from Transaction table record string serialNbr = ScenarioContext.Current.Get <string>("Transaction Serial Number"); parameters.Add("TransactionId", "" + bankingTab.GetTransactionIdFromListBySerialNumber(serialNbr)); DataRowCollection rowsTrx = ExecuteQueryOnDB(Properties.Resources.GetTransactionDetails, parameters); rowsTrx.Count.Should().BeGreaterThan(0, "Transaction record must be on DB"); int participantIdTrx = Convert.ToInt32(rowsTrx[0].ItemArray[3]); //Compare and check the linking is OK participantIdTrx.Should().Be(participantId, "Participant Id linked to created transaction is correct on DB"); }