Skip to content

feat: add fluent interface#18

Merged
afreeze-onspring merged 259 commits intoonspring-technologies:masterfrom
StevanFreeborn:stevanfreeborn/feat/add-fluent-interface
Mar 27, 2026
Merged

feat: add fluent interface#18
afreeze-onspring merged 259 commits intoonspring-technologies:masterfrom
StevanFreeborn:stevanfreeborn/feat/add-fluent-interface

Conversation

@StevanFreeborn
Copy link
Copy Markdown
Contributor

Overview

This PR adds a fluent interface to the SDK. It is meant to close #17 .

Changes

  • Features
    • Added Fluent namespace for models and interfaces
    • Place all models and interfaces that support the fluent API in the Fluent namespace
    • Added method to OnspringClient that allows creating an instance that implements the IOnspringRequestBuilder interface which serves as the entry point for the fluent API.
    • Added FilterOperator enum to represent available filter operators when querying for records
    • Added Filter model to represent filters you can build when querying for records.
  • Chores
    • Upgraded test project to target dotnet 7 as current target of dotnet 5 is out of support.
    • Upgraded packages in test project to latest versions
    • Added .editorconfig file to support maintaining consistent styling in VS and other editors. This file was generated using the existing solution settings.
    • Added .vscode settings and recommended extensions for those developers using vs code.
    • Add Nsubstitute as a dependency in test project for mocking
    • Added coverlet.msbuild integration as dependency in test project for generating test coverage when running tests automatically.
    • Added ReportGenerator as dependency in test project
    • Added target to Onspring.API.SDK.Tests.csproj to support generating coverage report after running tests automatically
  • Tests
    • Add namespaces to differentiate between Integration tests and Unit tests.
    • Add Fluent namespace to segregate existing tests from those tests added to cover fluent API.
    • Added integration and unit tests to cover fluent API.
  • Docs
    • Formatted README.md
    • Formatted docs\migrations\2-to-30.md
    • Updated README.md to explain fluent interface.
    • Added XML comments to non-private members of newly introduced models and interfaces.

StevanFreeborn and others added 30 commits January 17, 2023 00:28
…est FieldsController to verify deserializing works for survey delegation field
StevanFreeborn and others added 20 commits March 26, 2026 20:30
…n a field test data based on concrete classes and enums from the sdk itself. Instead the fields returned are generic objects that represent a field data set you'd get back from the api. This way I can add additional fields to the dataset that demonstrate the FormulaOutputType enum contains incorrect values for date and number.
…ller.cs that include a formula field with each possible output type. These additional fields cause by the GetFieldsAsync and GetFieldsForAppAsync tests in OnspringClientFieldTests to fail because the OutputType values of Numeric and DateAndTime can't be deserialized to any of the existing FormulaOutputType enum values.
…ue. fix: modified response data in test controller to respond with proper OutputType value for list formula field.
…est FieldsController to verify deserializing works for survey delegation field
…:StevanFreeborn/onspring-api-sdk into stevanfreeborn/feat/add-fluent-interface
@StevanFreeborn StevanFreeborn dismissed afreeze-onspring’s stale review March 27, 2026 14:55

The merge-base changed after approval.

@StevanFreeborn StevanFreeborn dismissed afreeze-onspring’s stale review March 27, 2026 15:00

The merge-base changed after approval.

@StevanFreeborn StevanFreeborn dismissed afreeze-onspring’s stale review March 27, 2026 16:36

The merge-base changed after approval.

@afreeze-onspring afreeze-onspring merged commit 022cb35 into onspring-technologies:master Mar 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEAT]: Add a Fluent Interface to the SDK

2 participants