public IRestResponse postLoginPhone(LoginPhoneRequest loginPhoneRequest)
        {
            // Endpoint setting from configuration
            var restClient = new RestClient(ConfigurationReader.Get("Environment:QA:Endpoint"));
            // Resource path setting from configuration
            var request = new RestRequest(ConfigurationReader.Get("Resources:Profiles:LoginPhone"), Method.POST);

            // Request format JSON/ XML
            request.RequestFormat = DataFormat.Json;
            request.AddJsonBody(loginPhoneRequest);

            // EXECUTE REQUEST
            IRestResponse response = executeRequest(restClient, request);

            return(response);
        }
        public void validateIncorrectLoginPhone(string phoneNumber, string pin, HttpStatusCode statusCode, string errorDescription)
        {
            Debug.WriteLine("****** Running test : Validate login with Invalid credentials ******");
            // Construct request from Request models
            LoginPhoneRequest loginPhoneRequest = new LoginPhoneRequest();

            loginPhoneRequest.MobilePhoneNumber = phoneNumber;
            loginPhoneRequest.Pin      = pin;
            loginPhoneRequest.Language = "en";
            loginPhoneRequest.System   = "QAPZNSVC01";
            loginPhoneRequest.Username = ConfigurationReader.Get("Environment:QA:PersonalizationRestSharpAutomation");

            // API Call
            IRestResponse response       = restServices.postLoginPhone(loginPhoneRequest);
            var           parsedResponse = JsonConvert.DeserializeObject <LoginResponse>(response.Content);

            // Assertions
            response.StatusCode.Should().Be(statusCode);
            parsedResponse.Errors[0].Description.Should().Be(errorDescription);
            Debug.WriteLine("*********************************************" + parsedResponse);
        }
        public void validateCorrectLoginPhone()
        {
            Debug.WriteLine("****** Running test : Validate login with valid credentials ******");

            // Construct request from Request models
            LoginPhoneRequest loginPhoneRequest = new LoginPhoneRequest();

            loginPhoneRequest.MobilePhoneNumber = ConfigurationReader.Get("Environment:QA:UserPhone");
            loginPhoneRequest.Pin      = ConfigurationReader.Get("Environment:QA:UserPin");
            loginPhoneRequest.Language = "en";
            loginPhoneRequest.System   = ConfigurationReader.Get("Environment:QA:System");
            loginPhoneRequest.Username = "******";

            // API Call
            IRestResponse response       = restServices.postLoginPhone(loginPhoneRequest);
            var           parsedResponse = JsonConvert.DeserializeObject <LoginResponse>(response.Content);

            // Assertions
            response.StatusCode.Should().Be(HttpStatusCode.OK);
            parsedResponse.MobilePhoneNumber.Should().Be("9876543211");
        }