Skip to content

v1.2.0 #70

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

Merged
merged 49 commits into from
Mar 21, 2017
Merged
Changes from 1 commit
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
aaabb1a
feat(meta): add a meta builder class
jaredcnance Mar 16, 2017
19a3822
feat(service-provider-ext): inject IMetaBuilder
jaredcnance Mar 16, 2017
5545a91
test(service-collection-extension): test service injection
jaredcnance Mar 16, 2017
a82aade
feat(json-api-context): expose meta builder as a property of the context
jaredcnance Mar 16, 2017
c3b6af5
feat(document-builder): use the meta builder
jaredcnance Mar 16, 2017
34d56ef
feat(services): add IRequestMeta for extensibility
jaredcnance Mar 16, 2017
aa0ddfc
test(extensibility): failing test that users can define meta via serv…
jaredcnance Mar 17, 2017
340ee44
feat(document-builder): apply request meta
jaredcnance Mar 17, 2017
8462e75
docs(readme): document Request Meta
jaredcnance Mar 17, 2017
34431fa
refactor(serialization): introduce new interfaces and composition roo…
jaredcnance Mar 17, 2017
7722500
refactor(de-serialization): introduce new interfaces and composition …
jaredcnance Mar 17, 2017
5c1a148
chore(csproj): bump package version
jaredcnance Mar 17, 2017
7a95169
Merge pull request #61 from Research-Institute/feature/request-meta
jaredcnance Mar 17, 2017
588b980
test(patch): failing test for patching entity has one relationship
jaredcnance Mar 20, 2017
402d6cc
feat(relationship-attr): make setValue abstract
jaredcnance Mar 20, 2017
0f2ba28
feat(json-api-context): store a list of relationships to update
jaredcnance Mar 20, 2017
7f49ef9
feat(de-serializer): store which relationships should be updated
jaredcnance Mar 20, 2017
3143e4a
feat(entity-repository): update relationship values
jaredcnance Mar 20, 2017
f6d5c34
test(patch): use non-cached context
jaredcnance Mar 20, 2017
b322162
Merge pull request #64 from Research-Institute/fix/patch-relationships
jaredcnance Mar 20, 2017
072ced3
test(fetching-data): add failing test
jaredcnance Mar 20, 2017
ec25664
feat(document-builder): include relationship objects in compound doc
jaredcnance Mar 20, 2017
635e20f
fix(document-builder): do not include null relationships in compound doc
jaredcnance Mar 20, 2017
e2c0cc8
Merge pull request #66 from Research-Institute/fix/compound-rel-inclu…
jaredcnance Mar 20, 2017
10184ac
refactor(jsonapi-exception): treat all errors as error collection
jaredcnance Mar 20, 2017
2feec1d
feat(jsonapi-exception): add logic for getting error collectoon status
jaredcnance Mar 20, 2017
c459700
fix(error): ignore StatusCode property
jaredcnance Mar 20, 2017
75e72b7
refactor(writer): move logic into serializer
jaredcnance Mar 20, 2017
3365d59
fix(error-collection): use camel-case serialization
jaredcnance Mar 20, 2017
70b273a
test(extensibility): verify users can serialize custom errors
jaredcnance Mar 20, 2017
7fd3e48
docs(readme): document custom error usage
jaredcnance Mar 20, 2017
b8443b8
Merge pull request #68 from Research-Institute/feat/improved-errors
jaredcnance Mar 20, 2017
2b80385
docs(readme): fix syntax highlighting
jaredcnance Mar 20, 2017
99f623d
feat(IQueryable): add extension for selecting columns by list of names
jaredcnance Mar 20, 2017
1b8b6cb
fix(IQueryableExt): clean up extension
jaredcnance Mar 21, 2017
aa6faf4
test(sparse-fieldsets): validate the use of the Select extension
jaredcnance Mar 21, 2017
d50fb51
clean(error-test): remove unused ns
jaredcnance Mar 21, 2017
a2ab5bd
feat(query-set): parse fields parameter
jaredcnance Mar 21, 2017
027b3b0
fix(IQueryableExt): do not return dynamic type
jaredcnance Mar 21, 2017
66c0bd2
feat(repository): apply select query
jaredcnance Mar 21, 2017
b3c3f16
feat(document-builder): check whether or not an attribute should be inc
jaredcnance Mar 21, 2017
743edd1
test(sparse-fields): test that fields can be restricted using query
jaredcnance Mar 21, 2017
4cb6672
docs(readme): document sparse fieldset support
jaredcnance Mar 21, 2017
3d58227
chore(tests): move all helper classes into a helper dir
jaredcnance Mar 21, 2017
69afe90
feat(tests): add helper extension to get ef sql output
jaredcnance Mar 21, 2017
ce969ed
feat(tests): add helper extension to normalize strings
jaredcnance Mar 21, 2017
0179f9e
test(sparse-fields): validate the result SQL
jaredcnance Mar 21, 2017
560f19e
Merge pull request #69 from Research-Institute/feat/sparse-field-sets
jaredcnance Mar 21, 2017
408113c
Merge branch 'master' into develop
jaredcnance Mar 21, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
test(sparse-fieldsets): validate the use of the Select extension
  • Loading branch information
jaredcnance committed Mar 21, 2017
commit aa6faf40efb458808f2acb5117ddf6f642e974b6
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
using System.Threading.Tasks;
using DotNetCoreDocs;
using DotNetCoreDocs.Writers;
using JsonApiDotNetCoreExample;
using Xunit;
using Microsoft.EntityFrameworkCore;
using JsonApiDotNetCoreExample.Data;
using JsonApiDotNetCore.Extensions;
using JsonApiDotNetCoreExample.Models;
using System.Linq;

namespace JsonApiDotNetCoreExampleTests.Acceptance.Spec
{
[Collection("WebHostCollection")]
public class SparseFieldSetTests
{
private DocsFixture<Startup, JsonDocWriter> _fixture;
private readonly AppDbContext _dbContext;

public SparseFieldSetTests(DocsFixture<Startup, JsonDocWriter> fixture)
{
_fixture = fixture;
_dbContext = fixture.GetService<AppDbContext>();
}

[Fact]
public async Task Can_Select_Sparse_Fieldsets()
{
// arrange
var fields = new string[] { "Id", "Description" };
var todoItem = new TodoItem {
Description = "description",
Ordinal = 1
};
_dbContext.TodoItems.Add(todoItem);
await _dbContext.SaveChangesAsync();

// act
var result = await _dbContext
.TodoItems
.Where(t=>t.Id == todoItem.Id)
.Select(fields)
.FirstAsync();

// assert
Assert.Equal(0, result.Ordinal);
Assert.Equal(todoItem.Description, result.Description);
}
}
}