public async Task ShouldSearchCompiledRequestHasCorrectQueryString() { var requestService = new Mock <IRequestService>(); var passedUrl = string.Empty; requestService.Setup(x => x.GetRequest <PageResult <MeshNameAttributeClassTest> >(It.IsAny <string>())).Callback((string url) => { passedUrl = url; }).Returns(() => { return(Task.FromResult(It.IsAny <PageResult <MeshNameAttributeClassTest> >())); }).Verifiable(); var service = new MeshesService(requestService.Object); var pageNumber = new Random().Next(); var pageSize = new Random().Next(); await service.SearchAsync <MeshNameAttributeClassTest>(x => x.FavoriteNumber > 5000, OrderByDefinition <MeshNameAttributeClassTest> .OrderByDescending("FavoriteNumber"), pageNumber, pageSize).ConfigureAwait(false); var encodedFilter = WebUtility.UrlEncode("{ \"FavoriteNumber\" : { \"$gt\" : 5000 } }"); var encodedOrderBy = WebUtility.UrlEncode("{ FavoriteNumber:-1 }"); Assert.Equal($"meshes/{MeshName.ToLowerInvariant()}?filter={encodedFilter}&orderby={encodedOrderBy}&page={pageNumber}&pageSize={pageSize}", passedUrl); requestService.VerifyAll(); }
public async Task ShouldUpdateAsyncFromModelRequestHaveCorrectMeshNameFromAttributeAndUrl() { var requestService = new Mock <IRequestService>(); var passedUrl = string.Empty; var passedModel = default(MeshNameAttributeClassTest); var expectedModel = new MeshNameAttributeClassTest(); requestService.Setup(x => x.PutRequest <MeshNameAttributeClassTest>(It.IsAny <string>(), It.IsAny <object>())).Callback((string url, object model) => { passedUrl = url; passedModel = model as MeshNameAttributeClassTest; }).Returns(() => { return(Task.FromResult(It.IsAny <MeshNameAttributeClassTest>())); }).Verifiable(); var service = new MeshesService(requestService.Object); var id = Generator.RandomString(25); expectedModel.Id = id; await service.UpdateAsync(expectedModel).ConfigureAwait(false); Assert.Equal($"meshes/{MeshName.ToLowerInvariant()}/{id}", passedUrl); Assert.Equal(expectedModel, passedModel); requestService.VerifyAll(); }
public void ShouldSearchManualRequestHasCorrectQueryString() { var requestService = new Mock <IRequestService>(); var passedUrl = string.Empty; requestService.Setup(x => x.GetRequest <PageResult <MeshNameAttributeClassTest> >(It.IsAny <string>())).Callback((string url) => { passedUrl = url; }).Returns(() => { return(Task.FromResult(It.IsAny <PageResult <MeshNameAttributeClassTest> >())); }).Verifiable(); var service = new MeshesService(requestService.Object); var pageNumber = new Random().Next(); var pageSize = new Random().Next(); var searchFilter = "{ 'FavoriteNumber': { '$gt': 5000 } }"; var orderBy = "{ FavoriteNumber: -1 }"; service.Search <MeshNameAttributeClassTest>(searchFilter, orderBy, pageNumber, pageSize); var encodedFilter = WebUtility.UrlEncode(searchFilter); var encodedOrderBy = WebUtility.UrlEncode("{ FavoriteNumber: -1 }"); Assert.Equal($"meshes/{MeshName.ToLowerInvariant()}?filter={encodedFilter}&orderby={encodedOrderBy}&page={pageNumber}&pageSize={pageSize}", passedUrl); requestService.VerifyAll(); }
public async Task ShouldCreateAsyncRequestHaveCorrectMeshNameFromAttributeAndUrl() { var requestService = new Mock <IRequestService>(); var passedUrl = string.Empty; var passedModel = default(MeshNameAttributeClassTest); var passedFormat = default(RequestDataFormat); var expectedModel = new MeshNameAttributeClassTest(); requestService.Setup(x => x.PostRequest <MeshNameAttributeClassTest>(It.IsAny <string>(), It.IsAny <object>(), It.IsAny <RequestDataFormat>())).Callback((string url, object model, RequestDataFormat format) => { passedUrl = url; passedModel = model as MeshNameAttributeClassTest; passedFormat = format; }).Returns(() => { return(Task.FromResult(It.IsAny <MeshNameAttributeClassTest>())); }).Verifiable(); var service = new MeshesService(requestService.Object); await service.CreateAsync(expectedModel).ConfigureAwait(false); Assert.Equal($"meshes/{MeshName.ToLowerInvariant()}", passedUrl); Assert.Equal(expectedModel, passedModel); Assert.Equal(RequestDataFormat.Json, passedFormat); requestService.VerifyAll(); }
public async Task ShouldGetAsyncRequestHaveCorrectMeshNameFromAttributeAndUrl() { var requestService = new Mock <IRequestService>(); var passedUrl = string.Empty; requestService.Setup(x => x.GetRequest <MeshNameAttributeClassTest>(It.IsAny <string>())).Callback((string url) => { passedUrl = url; }).Returns(() => { return(Task.FromResult(It.IsAny <MeshNameAttributeClassTest>())); }).Verifiable(); var service = new MeshesService(requestService.Object); var id = Generator.RandomString(25); await service.GetDataAsync <MeshNameAttributeClassTest>(id).ConfigureAwait(false); Assert.Equal($"meshes/{MeshName.ToLowerInvariant()}/{id}", passedUrl); requestService.VerifyAll(); }
public async Task ShouldSearchManualAsyncRequestHaveCorrectMeshNameFromAttributeAndUrl() { var requestService = new Mock <IRequestService>(); var passedUrl = string.Empty; requestService.Setup(x => x.GetRequest <PageResult <MeshNameAttributeClassTest> >(It.IsAny <string>())).Callback((string url) => { passedUrl = url; }).Returns(() => { return(Task.FromResult(It.IsAny <PageResult <MeshNameAttributeClassTest> >())); }).Verifiable(); var service = new MeshesService(requestService.Object); await service.SearchAsync <MeshNameAttributeClassTest>().ConfigureAwait(false); Assert.Equal($"meshes/{MeshName.ToLowerInvariant()}?filter=&orderby=&page=1&pageSize=25", passedUrl); requestService.VerifyAll(); }
public void ShouldSearchCompiledRequestHaveCorrectMeshNameFromAttributeAndUrl() { var requestService = new Mock <IRequestService>(); var passedUrl = string.Empty; requestService.Setup(x => x.GetRequest <PageResult <MeshNameAttributeClassTest> >(It.IsAny <string>())).Callback((string url) => { passedUrl = url; }).Returns(() => { return(Task.FromResult(It.IsAny <PageResult <MeshNameAttributeClassTest> >())); }).Verifiable(); var service = new MeshesService(requestService.Object); service.Search <MeshNameAttributeClassTest>(x => true); var encodedFilter = WebUtility.UrlEncode("{ }"); Assert.Equal($"meshes/{MeshName.ToLowerInvariant()}?filter={encodedFilter}&orderby=&page=1&pageSize=25", passedUrl); requestService.VerifyAll(); }
public void ShouldDeleteRequestHaveCorrectMeshNameFromAttributeAndUrl() { var requestService = new Mock <IRequestService>(); var passedUrl = string.Empty; requestService.Setup(x => x.DeleteRequest <object>(It.IsAny <string>())).Callback((string url) => { passedUrl = url; }).Returns(() => { return(Task.FromResult(It.IsAny <object>())); }).Verifiable(); var service = new MeshesService(requestService.Object); var id = Generator.RandomString(25); service.Delete <MeshNameAttributeClassTest>(id); Assert.Equal($"meshes/{MeshName.ToLowerInvariant()}/{id}", passedUrl); requestService.VerifyAll(); }
public override int GetHashCode() { return(MeshName.GetHashCode()); }