public async Task BaseClass_Collection_on_hierarchy_works() { var repo = new Repository <Hierarchy>(_fixture.InMemoryStorage, new OpenRightExpressionsHelper <Hierarchy>(), _fixture.IncludeApplicator); var instanciator = new BaseClassInstanciator <Hierarchy>(new InheritanceConfiguration()); var collection = new RestCollection <Hierarchy, int>(repo, new BaseClassPatcher <Hierarchy>(_fixture.PatcherProvider, _fixture.ReflectionHelper, new InheritanceConfiguration()), instanciator); var candidate = _parser.Parse <Hierarchy, int>(@"{ ""type"":""super"", ""superProperty"": ""lol"" }"); await collection.CreateAsync(candidate, new Query <Hierarchy> { Verb = Helpers.HttpVerbs.Post }); }
public async Task Collection_on_hierarchy_fails() { await Assert.ThrowsAsync <BadRequestException>(async() => { var repo = new Repository <Hierarchy>(_fixture.InMemoryStorage, new Mock <IRightExpressionsHelper <Hierarchy> >().Object, _fixture.IncludeApplicator); var instanciator = new BaseClassInstanciator <Hierarchy>(new InheritanceConfiguration()); var collection = new RestCollection <Hierarchy, int>(repo, new ObjectPatcher <Hierarchy>(_fixture.PatcherProvider, _fixture.ReflectionHelper), instanciator); var candidate = _parser.Parse <Hierarchy, int>(@"{ ""type"":""super"", ""superProperty"": ""lol"" }"); await collection.CreateAsync(candidate, new Query <Hierarchy> { Verb = Helpers.HttpVerbs.Post }); }); }