Example #1
0
        public void HertzAddUpdateCsAgent_Negative(CsAgentModel csAgent, string agentRoleName, int errorCode, string errorMessage)
        {
            CsAgentController CsAgentController = new CsAgentController(Database, TestStep);

            try
            {
                CsAgentRoleModel csAgentRole   = CsAgentController.GetFromDBRoleID(agentRoleName);
                decimal          caAgentRoleID = csAgentRole.ID;
                csAgent.ROLEID = caAgentRoleID;
                TestStep.Start($"Make HertzAwardLoyaltyCurrency Call", $"Add member call should throw exception with error code = {errorCode}");
                LWServiceException exception = Assert.Throws <LWServiceException>(() => CsAgentController.AddCsAgent(csAgent));
                Assert.AreEqual(errorCode, exception.ErrorCode);
                Assert.IsTrue(exception.Message.Contains(errorMessage));
                TestStep.Pass("HertzAwardLoyaltyCurrency call threw expected exception", exception.ReportDetail());
            }
            catch (AssertModelEqualityException ex)
            {
                TestStep.Fail(ex.Message, ex.ComparisonFailures);
                Assert.Fail();
            }
            catch (Exception ex)
            {
                TestStep.Abort(ex.Message);
                Assert.Fail();
            }
        }
Example #2
0
        public void HertzAddUpdateCsAgent_Positive(CsAgentModel csAgent, string agentRoleName, bool UpdateCsAgent)
        {
            CsAgentController CsAgentController = new CsAgentController(Database, TestStep);
            CsAgentModel      csAgentOut;

            try
            {
                CsAgentRoleModel csAgentRole   = CsAgentController.GetFromDBRoleID(agentRoleName);
                decimal          caAgentRoleID = csAgentRole.ID;
                csAgent.ROLEID = caAgentRoleID;
                TestStep.Start($"Make HertzAddUpdateCSAgent Call", "CSAgent should be added successfully");
                csAgentOut = CsAgentController.AddCsAgent(csAgent);
                AssertModels.AreEqualWithAttribute(csAgent, csAgentOut);
                TestStep.Pass("CsAgent was added successfully and CsAgent object was returned", csAgentOut.ReportDetail());

                TestStep.Start($"Verify CsAgent in {CsAgentModel.TableName} table", "Database CsAgent should match created CsAgent");
                CsAgentModel dbCsAgent = CsAgentController.GetFromDB(csAgentOut.USERNAME);
                AssertModels.AreEqualWithAttribute(csAgentOut, dbCsAgent);
                TestStep.Pass("CsAgent created matches CsAgent in database", dbCsAgent.ReportDetail());
                if (UpdateCsAgent)
                {
                    csAgentOut.LASTNAME     = csAgentOut.LASTNAME + "Updated";
                    csAgentOut.EMAILADDRESS = "*****@*****.**";
                    TestStep.Start($"Make HertzAddUpdateCSAgent Call for updating Last Name and Email", "CSAgent should be updated successfully");
                    CsAgentModel csAgentOutUpdated = CsAgentController.AddCsAgent(csAgentOut);
                    AssertModels.AreEqualWithAttribute(csAgentOutUpdated, csAgentOut);
                    TestStep.Pass("CsAgent was added successfully and CsAgent object was returned", csAgentOutUpdated.ReportDetail());

                    TestStep.Start($"Verify CsAgent is updated in {CsAgentModel.TableName} table", "Database CsAgent should match updated CsAgent");
                    CsAgentModel dbCsAgentUpdated = CsAgentController.GetFromDB(csAgentOutUpdated.USERNAME);
                    AssertModels.AreEqualWithAttribute(csAgentOutUpdated, dbCsAgentUpdated);
                    TestStep.Pass("CsAgent created matches CsAgent in database", dbCsAgentUpdated.ReportDetail());
                }
            }
            catch (AssertionException ex)
            {
                TestStep.Fail(ex.Message);
                Assert.Fail();
            }
            catch (AssertModelEqualityException ex)
            {
                TestStep.Fail(ex.Message, ex.ComparisonFailures);
                Assert.Fail();
            }
            catch (Exception ex)
            {
                TestStep.Abort(ex.Message, ex.StackTrace);
                Assert.Fail();
            }
        }
        public CsAgentModel GetFromDB(string userName, string userNameQuery = null)
        {
            string query = String.Empty;

            if (userName == null && !String.IsNullOrEmpty(userNameQuery))
            {
                query = userNameQuery;
            }
            else
            {
                query = $"select * from {CsAgentModel.TableName} where username = '******'";
            }

            CsAgentModel csAgent = dbContext.QuerySingleRow <CsAgentModel>(query);

            return(csAgent);
        }
 public CsAgentModel AddCsAgent(CsAgentModel csAgent)
 {
     using (ConsoleCapture capture = new ConsoleCapture())
     {
         try
         {
             var lwCsAgent = lwSvc.HertzAddUpdateCSAgent(csAgent.USERNAME, csAgent.FIRSTNAME, csAgent.LASTNAME, csAgent.ROLEID.ToString(), ((int)(csAgent.STATUS)).ToString(), csAgent.GROUPID.ToString(), csAgent.AGENTNUMBER.ToString(), csAgent.EMAILADDRESS, csAgent.PHONENUMBER, csAgent.EXTENSION, null, out double elapsedTime);
             return(LODConvert.FromLW <CsAgentModel>(lwCsAgent));
         }
         catch (LWClientException ex)
         {
             throw new LWServiceException(ex.Message, ex.ErrorCode);
         }
         finally
         {
             stepContext.AddAttachment(new Attachment("HertzAddUpdateCSAgent", capture.Output, Attachment.Type.Text));
         }
     }
 }
        public static CsAgentModel GenerateRandomAgent()
        {
            CsAgentModel csAgent = StrongRandom.GenerateRandom <CsAgentModel>();

            return(csAgent);
        }