private async Task Upload(Guid releaseId, FastTrack fastTrack, PublishContext context) { var blobName = context.Staging ? PublicContentFastTrackPath(releaseId.ToString(), fastTrack.Id.ToString(), PublicContentStagingPath()) : PublicContentFastTrackPath(releaseId.ToString(), fastTrack.Id.ToString()); await _publicBlobStorageService.UploadAsJson(PublicContent, blobName, fastTrack); }
private Task <Either <ActionResult, FastTrackViewModel> > BuildViewModel(FastTrack fastTrack) { return(_tableBuilderService.Query(fastTrack.ReleaseId, fastTrack.Query).OnSuccess(result => { var viewModel = _mapper.Map <FastTrackViewModel>(fastTrack); viewModel.FullTable = result; viewModel.Query.PublicationId = _subjectService.GetPublicationForSubject(fastTrack.Query.SubjectId).Result.Id; return viewModel; })); }
public void GetFuncReturnsNullIfUnknownPattern() { // Arrange Expression <Func <string[], int> > expr = model => model[0].Length; // array indexing is unknown to the fast-tracker // Act Func <string[], int> func = FastTrack <string[], int> .GetFunc(expr.Parameters[0], expr.Body); // Assert Assert.IsNull(func, "Unknown pattern should result in null return value."); }
public void GetFunc_Constant() { // Arrange Expression <Func <string, int> > expr = model => 2; // Act Func <string, int> func = FastTrack <string, int> .GetFunc(expr.Parameters[0], expr.Body); int result = func("anything"); // Assert Assert.AreEqual(2, result); }
public void GetFunc_StaticMember() { // Arrange Expression <Func <string, int> > expr = model => SomeStaticProperty; // Act Func <string, int> func = FastTrack <string, int> .GetFunc(expr.Parameters[0], expr.Body); int result = func("anything"); // Assert Assert.AreEqual(40, result); }
public void GetFunc_InstanceMemberOnModel() { // Arrange Expression <Func <string, int> > expr = model => model.Length; int expected = "Hello, world".Length; // Act Func <string, int> func = FastTrack <string, int> .GetFunc(expr.Parameters[0], expr.Body); int result = func("Hello, world"); // Assert Assert.AreEqual(expected, result); }
public void GetFunc_Identity() { // Arrange Expression <Func <string, object> > expr = model => model; // Act Func <string, object> func = FastTrack <string, object> .GetFunc(expr.Parameters[0], expr.Body); object result = func("test phrase"); // Assert Assert.AreEqual("test phrase", result); }
private Task <Either <ActionResult, FastTrackViewModel> > BuildViewModel(FastTrack fastTrack) { return(_releaseRepository .FindOrNotFoundAsync(fastTrack.ReleaseId) .OnSuccessCombineWith(_ => _tableBuilderService.Query(fastTrack.ReleaseId, fastTrack.Query)) .OnSuccess(releaseAndResults => { var(release, result) = releaseAndResults; var viewModel = _mapper.Map <FastTrackViewModel>(fastTrack); viewModel.FullTable = result; viewModel.Query.PublicationId = release.PublicationId; viewModel.ReleaseSlug = release.Slug; var latestRelease = _releaseRepository.GetLatestPublishedRelease(release.PublicationId); viewModel.LatestData = latestRelease?.Id == release.Id; viewModel.LatestReleaseTitle = latestRelease != null ? TimePeriodLabelFormatter.Format(latestRelease.Year, latestRelease.TimeIdentifier, FullLabelBeforeYear) : null; return viewModel; })); }