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;
            }
        }
Exemplo n.º 4
0
        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)));
        }
Exemplo n.º 5
0
 public abstract Task <IActionResult> CreateTermsOfServiceAsync([FromBody] TermsOfServiceSubmit termsOfServiceSubmit);