private void AssertSecurityPoliciesChecked <T, TEntity>( Func <PreReleaseSummaryService, Task <Either <ActionResult, T> > > protectedAction, TEntity protectedEntity, params SecurityPolicies[] policies) where TEntity : class { var(persistenceHelper, userService) = Mocks(); var service = new PreReleaseSummaryService(persistenceHelper.Object, userService.Object); PermissionTestUtil.AssertSecurityPoliciesChecked(protectedAction, protectedEntity, userService, service, policies); }
public async Task GetPreReleaseSummaryViewModelAsync() { var contact = new Contact { Id = Guid.NewGuid(), TeamEmail = "*****@*****.**" }; var publication = new Publication { Id = Guid.NewGuid(), Slug = "prerelease-publication", Title = "PreRelease Publication", ContactId = contact.Id }; var release = new Release { Id = Guid.NewGuid(), ReleaseName = "2020", Slug = "2020", TimePeriodCoverage = TimeIdentifier.AutumnSpringTerm, PublicationId = publication.Id }; await using (var context = InMemoryApplicationDbContext("PreReleaseSummaryViewModel")) { context.Add(contact); context.Add(publication); context.Add(release); await context.SaveChangesAsync(); } await using (var context = InMemoryApplicationDbContext("PreReleaseSummaryViewModel")) { var preReleaseSummaryService = new PreReleaseSummaryService( new PersistenceHelper <ContentDbContext>(context), MockUtils.AlwaysTrueUserService().Object); var viewModel = (await preReleaseSummaryService.GetPreReleaseSummaryViewModelAsync(release.Id)).Right; Assert.Equal(contact.TeamEmail, viewModel.ContactEmail); Assert.Equal(publication.Slug, viewModel.PublicationSlug); Assert.Equal(publication.Title, viewModel.PublicationTitle); Assert.Equal(release.Title, viewModel.ReleaseTitle); Assert.Equal(release.Slug, viewModel.ReleaseSlug); } }