yavsc/src/PostIt.Tests
Paul Schneider f835ad42a1
feat(api-client): add Yavsc.Api.Client with Blog + Circle + BlogAcl clients
Creates the high-level HTTP client library the PostIt UI will
consume to manage blog posts, circles, and per-post ACLs.

Clients in this commit:
- BlogApiClient (moved from PostIt/Services; same public surface,
  now depends on IYavscApiClient instead of the concrete class).
- CircleApiClient (new): GET/POST/PUT/DELETE /api/circle. Takes
  the blogs base URL explicitly in its constructor so it doesn't
  need to know about PostIt's Settings type.
- BlogAclApiClient (new): GET/POST/PUT/DELETE /api/blogacl.
  Same conventions as CircleApiClient.

DTOs (Yavsc.Api.Client.Dtos):
- CircleDto: id, name, ownerId, public. Stops short of the
  navigation properties on the server-side Circle (Owner,
  Members), which depend on ApplicationUser and other server
  types we don't want to drag into the client.
- CircleAuthorizationDto: circleId, blogPostId, comment. Same
  reason: the server entity has Target and Allowed navigation
  properties the client never needs.

The clients now require the caller to pass the blogs base URL
explicitly in the constructor (previously the BlogApiClient
sniffed it off YavscApiClient.Settings.BlogsApiUrl, but that
field is PostIt-specific). The one production call site
(App.axaml.cs) and four test call sites are updated to pass
the URL.

Build + 51/51 tests green. The IYavscApiClient abstraction was
landed in the previous commit so this one could be a pure
addition + relocation.
2026-08-17 23:50:35 +01:00
..
BearerScopeTests.cs feat(api-client): add Yavsc.Api.Client with Blog + Circle + BlogAcl clients 2026-08-17 23:50:35 +01:00
BlogApiTestFakes.cs refactor(model): move BlogPost DTO from PostIt.Models to Yavsc.Blogspot 2026-08-17 23:45:45 +01:00
Directory.Packages.props Split Directory.Packages.props: shared versions in root, per-product in src/ 2026-06-19 18:51:18 +01:00
FakeAuthorizingBrowser.cs Identity reloaded 2026-07-05 23:56:10 +01:00
MainPageSaveTests.cs feat(api-client): add Yavsc.Api.Client with Blog + Circle + BlogAcl clients 2026-08-17 23:50:35 +01:00
OidcStubAuthority.cs Identity reloaded 2026-07-05 23:56:10 +01:00
PostIt.Tests.csproj Exploiting GitVersion 2026-06-28 14:11:26 +01:00
PostItViewModelTests.cs feat(api-client): add Yavsc.Api.Client with Blog + Circle + BlogAcl clients 2026-08-17 23:50:35 +01:00
SchemeUrlDetectorTests.cs postit: traceable OIDC login UX + session persistence + 2nd-instance early exit 2026-06-27 12:47:52 +01:00
SessionStatusBannerTests.cs using Material.Avalonia 2026-07-09 23:28:46 +01:00
SettingsLoadTests.cs simpler 2026-07-08 23:16:16 +01:00
SignaturePadControlTests.cs a Signature Pad 2026-07-04 14:43:39 +01:00
SignaturePageViewModelTests.cs feat(postit): signature capture page (dev entry, file persistence) 2026-07-04 15:11:22 +01:00
TestApp.cs PostIt testing setup 2026-06-19 16:55:42 +01:00
UnitTest1.cs PostIt testing setup 2026-06-19 16:55:42 +01:00
YavscApiClientTests.cs feat(api-client): add Yavsc.Api.Client with Blog + Circle + BlogAcl clients 2026-08-17 23:50:35 +01:00