/*
 * DOJAH APIs
 *
 * Use Dojah to verify, onboard and manage user identity across Africa!
 *
 * The version of the OpenAPI document: 1.0.0
 * Generated by: https://konfigthis.com
 */

using System;
using System.IO;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Reflection;
using RestSharp;
using Xunit;

using Dojah.Net.Client;
using Dojah.Net.Api;
// uncomment below to import models
//using Dojah.Net.Model;

namespace Dojah.Net.Test.Api
{
    /// <summary>
    ///  Class for testing AuthenticationApi
    /// </summary>
    /// <remarks>
    /// This file is automatically generated by Konfig (https://konfigthis.com).
    /// Please update the test case below to test the API endpoint.
    /// </remarks>
    public class AuthenticationApiTests : IDisposable
    {
        private AuthenticationApi instance;

        public AuthenticationApiTests()
        {
            instance = new AuthenticationApi();
        }

        public void Dispose()
        {
            // Cleanup when everything is done.
        }

        /// <summary>
        /// Test an instance of AuthenticationApi
        /// </summary>
        [Fact]
        public void InstanceTest()
        {
            // TODO uncomment below to test 'IsType' AuthenticationApi
            //Assert.IsType<AuthenticationApi>(instance);
        }

        /// <summary>
        /// Test GetSenderId
        /// </summary>
        [Fact]
        public void GetSenderIdTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //var response = instance.GetSenderId();
            //Assert.IsType<GetSenderIdResponse>(response);
        }

        /// <summary>
        /// Test GetSmsStatus
        /// </summary>
        [Fact]
        public void GetSmsStatusTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //string messageId = null;
            //var response = instance.GetSmsStatus(messageId);
            //Assert.IsType<GetSmsStatusResponse>(response);
        }

        /// <summary>
        /// Test RequestSenderId
        /// </summary>
        [Fact]
        public void RequestSenderIdTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //RequestSenderIdRequest requestSenderIdRequest = null;
            //var response = instance.RequestSenderId(requestSenderIdRequest);
            //Assert.IsType<RequestSenderIdResponse>(response);
        }

        /// <summary>
        /// Test SendOtp
        /// </summary>
        [Fact]
        public void SendOtpTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //SendOtpRequest sendOtpRequest = null;
            //var response = instance.SendOtp(sendOtpRequest);
            //Assert.IsType<SendOtpResponse>(response);
        }

        /// <summary>
        /// Test SendSms
        /// </summary>
        [Fact]
        public void SendSmsTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //SendSmsRequest sendSmsRequest = null;
            //var response = instance.SendSms(sendSmsRequest);
            //Assert.IsType<SendSmsResponse>(response);
        }

        /// <summary>
        /// Test ValidateOtp
        /// </summary>
        [Fact]
        public void ValidateOtpTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //string referenceId = null;
            //int? code = null;
            //var response = instance.ValidateOtp(referenceId, code);
            //Assert.IsType<ValidateOtpResponse>(response);
        }
    }
}
