public TermsOfServiceService_Tests() { var config = new MapperConfiguration(cfg => { cfg.AddProfile(new TermsOfServiceSubmitResourceTermsOfServiceModel()); cfg.AddProfile(new TermsOfServiceResourceTermsOfServiceModel()); }); mapper = config.CreateMapper(); termsOfServiceGuid = Guid.NewGuid(); mockedTermsOfServiceModel = new TermsOfServiceModel { AgreementName = "Test TermsOfService", Id = termsOfServiceGuid, TermsOfServiceAcceptances = new List <TermsOfServiceUserAcceptanceModel>() }; mockedTermsOfServiceModel.Teams = new List <TeamModel> { new TeamModel { TermsOfService = mockedTermsOfServiceModel, Name = "Team Name" } }; mockedTermsOfServiceSubmitModel = new TermsOfServiceSubmit() { Uuid = mockedTermsOfServiceModel.Id, AgreementName = mockedTermsOfServiceModel.AgreementName, }; }
public async Task CreateTermsOfServiceAsync_WithTestTermsOfService_ReturnsCreatedTermsOfService() { // Arrange var termsOfServiceService = Substitute.For <ITermsOfServiceService>(); var inputModel = new TermsOfServiceSubmit() { Uuid = Guid.NewGuid(), AgreementName = "Test TermsOfService Name" }; termsOfServiceService.CreateAsync(inputModel, Arg.Any <Guid>()) .Returns(new TermsOfService() { Uuid = inputModel.Uuid, AgreementName = inputModel.AgreementName } ); var controller = new TermsOfServiceController(termsOfServiceService, orderByHelper, paginationHelper, mapper); // Act IActionResult actionResult = await controller.CreateTermsOfServiceAsync(inputModel); // Assert var okResult = actionResult as OkObjectResult; Assert.NotNull(okResult); var termsOfService = okResult.Value as TermsOfService; Assert.NotNull(termsOfService); Assert.True(termsOfService.Uuid == inputModel.Uuid, $"Retrieved Id {termsOfService.Uuid} not the same as sample id {inputModel.Uuid}."); Assert.True(termsOfService.AgreementName == inputModel.AgreementName, $"Retrieved Name {termsOfService.AgreementName} not the same as sample Name {inputModel.AgreementName}."); }
public async Task <TermsOfService> CreateAsync(TermsOfServiceSubmit termsOfServiceSubmit, Guid createdById) { // Start transactions to allow complete rollback in case of an error BeginAllTransactions(); try { var termsOfServiceModel = mapper.Map <TermsOfServiceModel>(termsOfServiceSubmit); termsOfServiceModel.ChangedBy = createdById; termsOfServiceModel.AgreementName = termsOfServiceModel.AgreementName.Trim(); termsOfServiceModel.Version = await GetNewAgreementVersion(termsOfServiceModel.AgreementName); ValidateFileCompatibility(termsOfServiceModel.AgreementFile); var createdTermsOfService = mapper.Map <TermsOfService>(await termsOfServiceRepository.CreateAsync(termsOfServiceModel, termsOfServiceSubmit.AutoUpdate)); // All successful CommitAllTransactions(); return(createdTermsOfService); } catch { RollbackAllTransactions(); throw; } }
public async override Task <IActionResult> CreateTermsOfServiceAsync([FromBody] TermsOfServiceSubmit termsOfServiceSubmit) { var loggedOnUser = ClaimsHelper.GetScalarClaimValue <Guid>(User, ClaimTypes.NameIdentifier, Guid.Empty); return(Ok(await termsOfServiceService.CreateAsync(termsOfServiceSubmit, loggedOnUser))); }
public abstract Task <IActionResult> CreateTermsOfServiceAsync([FromBody] TermsOfServiceSubmit termsOfServiceSubmit);