public void Init_UsingValidOptions_CreatesTable(string tablePrefix) { var expectedTableName = tablePrefix + "PaymentLinks"; var expectedColumns = new[] { nameof(PaymentLink.Id), nameof(PaymentLink.Amount), nameof(PaymentLink.BankReferenceId), nameof(PaymentLink.CreateDate), nameof(PaymentLink.Description), nameof(PaymentLink.ExpireDays), nameof(PaymentLink.FollowId), nameof(PaymentLink.ClusterId), nameof(PaymentLink.LastCheckForUpdateDate), nameof(PaymentLink.PaymentStatus), nameof(PaymentLink.ResultDate), nameof(PaymentLink.Token), nameof(PaymentLink.Url) }; var options = new PardakhtVasetClientOptions(); options.ConnectionString = ConnectionStrings; options.TablePrefix = tablePrefix; var client = new PardakhtVasetClient(options); client.Init(null); Assert.True(TableExists(expectedTableName)); Assert.True(ColumnsExists(expectedTableName, expectedColumns)); }
public void CreateInstance_WithCorrectOptions_CreatesNewInstance() { var options = new PardakhtVasetClientOptions { ApiKey = "my api key", Password = "******", ConnectionString = "my connection string;", TablePrefix = "pv" }; var client = new PardakhtVasetClient(options); Assert.NotNull(client); Assert.Equal(options.ConnectionString, client.Options.ConnectionString); Assert.Equal(options.ApiKey, client.Options.ApiKey); Assert.Equal(options.TablePrefix, client.Options.TablePrefix); }
public void Dispose_WithExistingSubscribers_DisposeWithoutError() { var options = new PardakhtVasetClientOptions { ApiKey = "my api key", Password = "******", ConnectionString = "my connection string;", TablePrefix = "pv" }; var mockedDbInitializer = new Mock <IDbInitializer>(); var mockedPaymentRepository = new Mock <IPaymentLinkRepository>(); var mockedPaymetRequestFactory = new Mock <IPayRequestFactory>(); var mockedPayRequest = new Mock <IPayRequestV2>(); mockedPaymetRequestFactory.Setup(x => x.CreateV2()).Returns(mockedPayRequest.Object); var client = new PardakhtVasetClient(options, mockedDbInitializer.Object, mockedPaymentRepository.Object, mockedPaymetRequestFactory.Object); client.PaymentLinkNotificationService.PaymentLinkChanged += (o, e) => { }; var ex = Record.Exception(() => client.Dispose()); Assert.Null(ex); Assert.NotNull(client); mockedPaymentRepository.Verify(x => x.Dispose(), Times.Once); }
private void MainForm_Load(object sender, EventArgs e) { var options = new PardakhtVasetClientOptions(); options.ConnectionString = Settings.Default.ConnectionString; options.ApiKey = Settings.Default.ApiKey; options.Password = Settings.Default.Password; options.TablePrefix = ""; _client = new PardakhtVasetClient(options); _client.Init(Settings.Default.ClusterId); _client.PaymentLinkNotificationService.PaymentLinkChanged += PaymentLinkNotificationService_PaymentLinkChanged; _client.PaymentLinkNotificationService.Start(TimeSpan.FromSeconds(10)); try { refreshDataToolStripMenuItem_Click(sender, e); } catch { } }
private void btnCheckApiKey_Click(object sender, EventArgs e) { try { var client = new PardakhtVasetClient(new PardakhtVasetClientOptions { ConnectionString = txtConnectionString.Text.Trim(), TablePrefix = "" }); var result = client.Test(txtApiKey.Text, txtPassword.Text); if (result) { MessageBox.Show("Api key is valid!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("Api key is not valid! Please enter a valid API Key.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }