public async Task CanGenerateTransactionReference() { HostingEnvironment hostEnvironment = new HostingEnvironment(); hostEnvironment.ContentRootPath = "C:\\Users\\LENOVO\\Documents\\Repositories\\lms-gateway\\src\\Presentation\\LmsGateway.Web"; hostEnvironment.ContentRootFileProvider = new PhysicalFileProvider(hostEnvironment.ContentRootPath); hostEnvironment.EnvironmentName = "Development"; Startup startup = new Web.Startup(hostEnvironment); ServiceCollection sc = new ServiceCollection(); startup.ConfigureServices(sc); IServiceProvider serviceProvider = sc.BuildServiceProvider(); ITransactionLogService transactionLogService = serviceProvider.GetService <ITransactionLogService>(); IGatewayLuncher gatewayLuncher = serviceProvider.GetService <IGatewayLuncher>(); ISettingService settingService = serviceProvider.GetService <ISettingService>(); IWidgetProvider widgetProvider = serviceProvider.GetService <IWidgetProvider>(); var transactionRef = new TransactionReference(transactionLogService, gatewayLuncher, settingService, widgetProvider); var response = await transactionRef.InvokeAsync(); var result = (ViewViewComponentResult)response; //Assert.NotNull(result); //Assert.NotNull(response); //Assert.IsType<ViewViewComponentResult>(response); //Assert.IsType<string>(result.ViewData.Model); }
public async Task CanGenerateTransactionReference_Unit() { PaystackSetting paystackSetting = new PaystackSetting() { UsePublicKey = false, ApiBaseUrl = "https://api.paystack.co/", ReferencePrefix = "PV", PublicKey = "pk_test_0b413fb09eeb29832cded5a56918a0f5f6a4c2f0", SecretKey = "sk_test_6ce9543acf5dd68127387f49ce437f7f82aafb47", ListTransactionEndPoint = "/transaction", VerifyTransactionEndPoint = "/transaction/verify/", FetchTransactionEndPoint = "/transaction/", InitializeTransactionEndPoint = "/transaction/initialize", TransactionTotalEndPoint = "/transaction/totals", FetchSettlementsEndPoint = "/settlement", APIAcceptHeaderKey = "accept", APIAcceptHeaderValue = "application/json", APIAuthorizationHeaderKey = "Authorization", APIAuthorizationHeaderValue = "Bearer", APIFromQueryParameterKey = "from", APIToQueryParameterKey = "to", APIAmountQueryParameterKey = "amount", APIStatusQueryParameterKey = "status", APIReferenceParameterKey = "reference", APIAmountParameterKey = "amount", APICallbackUrlParameterKey = "callback_url", APIEmailParameterKey = "email", APICustomFieldsParameterKey = "custom_fields", APIMetaDataParameterKey = "metadata", TransactionSearchDateFormat = "yyyy-MM-dd", }; string tranxRef = "099885321155456"; PaystackTransactionLog transactionLog = new PaystackTransactionLog() { Reference = tranxRef, TransactionDate = DateTime.UtcNow, }; _settingService.Setup(x => x.GetSetting <PaystackSetting>()).Returns(Task.FromResult(paystackSetting)); _gatewayLuncher.Setup(x => x.CreateTransactionRef(paystackSetting.ReferencePrefix)).Returns(Task.FromResult(tranxRef)); _transactionLogService.Setup(x => x.SaveAsync(transactionLog)).Verifiable(); var transactionRef = new TransactionReference(_transactionLogService.Object, _gatewayLuncher.Object, _settingService.Object, _widgetProvider.Object); var response = await transactionRef.InvokeAsync(); var result = (ViewViewComponentResult)response; Assert.NotNull(result); Assert.NotNull(response); Assert.IsType <ViewViewComponentResult>(response); Assert.IsType <string>(result.ViewData.Model); }