Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add fluent interface #18

Open
wants to merge 133 commits into
base: master
Choose a base branch
from

Conversation

StevanFreeborn
Copy link
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 December 10, 2022 22:31
…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.
…e which is the actual value that the Onspring API will return for formula fields with their output type configured as date/time.
…which is the actual value that the Onspring API will return for formula fields with their output type configured as numeric. NOTE: All tests now passing again.
…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
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: adding a fluent interface to the SDK
1 participant