public void GetUriFor_resource_of_collection_returns_correct_url(string baseUrl, string expectedResourceUrl) { BaseUri = new Uri(baseUrl); var critter = new Critter() { Id = 1234 }; var url = this.uriResolver.GetUriFor(critter); Assert.That(url, Is.EqualTo(expectedResourceUrl)); }
public void GetPreAuthenticatedUriFor_ReturnsPreAuthenticatedUriForResource() { // Very much mocked, just check that GetPreAuthenticatedUriFor actually calls IUriResolver and IPreAuthenticatedUriProvider var uriResolverMock = Substitute.For<IUriResolver>(); var critter = new Critter(); uriResolverMock.GetUriFor(critter).Returns("http://api/entities/0"); var preAuthenticatedUriProviderMock = Substitute.For<IPreAuthenticatedUriProvider>(); preAuthenticatedUriProviderMock.CreatePreAuthenticatedUrl("http://api/entities/0", null).Returns( "http://api/entities/0?$token=XYZ"); var resolver = new DefaultPreAuthenticatedUriResolver(uriResolverMock, preAuthenticatedUriProviderMock); Assert.That(resolver.GetPreAuthenticatedUriFor(critter, null), Is.EqualTo("http://api/entities/0?$token=XYZ")); }
public void PatchCritter_AddNewFormToList() { var critter = new Critter(); critter.Weapons.Add(new Gun(new WeaponModel { Name = "ExistingWeaponModel" })); Save(critter); var resource = Client.Query<ICritter>().First(x => x.Id == critter.Id); Client.Patch(resource, x => x.Weapons.Add(new WeaponForm { Price = 3.4m, Model = new WeaponModelForm { Name = "balala" }, Strength = 3.5 })); Assert.That(critter.Weapons, Has.Count.EqualTo(2)); }
public object Post(Critter critter, CritterCaptureCommand captureCommand) { critter.IsCaptured = true; return critter; }
public object Post(Critter critter, CritterExplodeCommand explodeCommand) { critter.Name = explodeCommand.Noops + " EXPLOSION!"; return critter; }
public void PatchCritter_WithPatchOptionExpandWeapons_ExpandsWeapons() { var critter = new Critter(); critter.Weapons.Add(new Gun(new WeaponModel { Name = "ExistingWeaponModel" })); Save(critter); var resource = Client.Query<ICritter>().First(x => x.Id == critter.Id); var patchResponse = Client.Patch(resource, x => x.Weapons.Add(new WeaponForm { Price = 3.4m, Model = new WeaponModelForm { Name = "balala" }, Strength = 3.5 }), o => o.Expand(x => x.Weapons)); Assert.That(patchResponse.Weapons.IsLoaded()); }
public void SetUp() { typeMapper = new TypeMapper(new CritterPomonaConfiguration()); this.repository = new CritterRepository(typeMapper); firstCritter = this.repository.List<Critter>().First(); }