/*
 * 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 KYCApi
    /// </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 KYCApiTests : IDisposable
    {
        private KYCApi instance;

        public KYCApiTests()
        {
            instance = new KYCApi();
        }

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

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

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

        /// <summary>
        /// Test GetBasicBvn
        /// </summary>
        [Fact]
        public void GetBasicBvnTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //int? bvn = null;
            //var response = instance.GetBasicBvn(bvn);
            //Assert.IsType<GetBasicBvnResponse>(response);
        }

        /// <summary>
        /// Test GetBasicPhoneNumber
        /// </summary>
        [Fact]
        public void GetBasicPhoneNumberTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //int? phoneNumber = null;
            //var response = instance.GetBasicPhoneNumber(phoneNumber);
            //Assert.IsType<GetBasicPhoneNumberResponse>(response);
        }

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

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

        /// <summary>
        /// Test GetFullBvn
        /// </summary>
        [Fact]
        public void GetFullBvnTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //int? bvn = null;
            //var response = instance.GetFullBvn(bvn);
            //Assert.IsType<GetFullBvnResponse>(response);
        }

        /// <summary>
        /// Test GetNuban
        /// </summary>
        [Fact]
        public void GetNubanTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //int? bankCode = null;
            //int? accountNumber = null;
            //var response = instance.GetNuban(bankCode, accountNumber);
            //Assert.IsType<GetNubanResponse>(response);
        }

        /// <summary>
        /// Test GetPassport
        /// </summary>
        [Fact]
        public void GetPassportTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //int? passportNumber = null;
            //string surname = null;
            //var response = instance.GetPassport(passportNumber, surname);
            //Assert.IsType<GetKycPassportResponse>(response);
        }

        /// <summary>
        /// Test GetPhoneNumber
        /// </summary>
        [Fact]
        public void GetPhoneNumberTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //int? phoneNumber = null;
            //var response = instance.GetPhoneNumber(phoneNumber);
            //Assert.IsType<GetPhoneNumberResponse>(response);
        }

        /// <summary>
        /// Test GetPremiumBvn
        /// </summary>
        [Fact]
        public void GetPremiumBvnTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //int? bvn = null;
            //var response = instance.GetPremiumBvn(bvn);
            //Assert.IsType<GetPremiumBvnResponse>(response);
        }

        /// <summary>
        /// Test GetVIN
        /// </summary>
        [Fact]
        public void GetVINTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //string mode = null;
            //string firstname = null;
            //string lastname = null;
            //int? vin = null;
            //string state = null;
            //var response = instance.GetVIN(mode, firstname, lastname, vin, state);
            //Assert.IsType<GetVinResponse>(response);
        }

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

        /// <summary>
        /// Test ValidateBvn
        /// </summary>
        [Fact]
        public void ValidateBvnTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //int? bvn = null;
            //string firstName = null;
            //string dob = null;
            //var response = instance.ValidateBvn(bvn, firstName, dob);
            //Assert.IsType<ValidateBvnResponse>(response);
        }

        /// <summary>
        /// Test VerifyAge
        /// </summary>
        [Fact]
        public void VerifyAgeTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //string mode = null;
            //int? accountNumber = null;
            //int? bankCode = null;
            //string dob = null;
            //string firstName = null;
            //string lastName = null;
            //var response = instance.VerifyAge(mode, accountNumber, bankCode, dob, firstName, lastName);
            //Assert.IsType<VerifyAgeResponse>(response);
        }

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

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