Ejemplo n.º 1
0
        public async Task AndSomethingFailsThenEmailIsNotSent()
        {
            //Arrange
            var request = new OrganisationStandardVersionOptInRequest()
            {
                EndPointAssessorOrganisationId = "ORG",
                StandardReference = "ST0001",
                StandardUId       = "ST0001_1_3",
                Version           = "1.2",
                ApplicationId     = _applicationId
            };

            _mockRepository.Setup(m => m.CreateOrganisationStandardVersion(It.IsAny <Domain.Entities.OrganisationStandardVersion>()))
            .Throws(new Exception());

            //Act
            try
            {
                await _sut.Handle(request, new CancellationToken());
            }
            catch (Exception)
            { }

            //Assert
            _mockMediator.Verify(m => m.Send(It.IsAny <SendEmailRequest>(), It.IsAny <CancellationToken>()), Times.Never);
        }
Ejemplo n.º 2
0
        public async Task ThenEmailIsSent()
        {
            //Arrange
            var request = new OrganisationStandardVersionOptInRequest()
            {
                EndPointAssessorOrganisationId = "ORG",
                StandardReference = "ST0001",
                StandardUId       = "ST0001_1_2",
                Version           = "1.2",
                ApplicationId     = _applicationId
            };

            var expectedTokens = JsonConvert.SerializeObject(new
            {
                contactname       = "Bob Smith",
                standard          = "TITLE",
                standardreference = "ST0001",
                version           = "1.2",
            });

            //Act
            var result = await _sut.Handle(request, new CancellationToken());

            //Assert
            _mockMediator.Verify(m => m.Send(It.Is <SendEmailRequest>(x => x.Email == "*****@*****.**" && x.EmailTemplateSummary == _emailTemplate),
                                             It.IsAny <CancellationToken>()));

            _emailRequestTokens.Should().Contain(expectedTokens);
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> CreateOrganisationStandardVersion(
            [FromBody] OrganisationStandardVersionOptInRequest request)
        {
            _logger.LogInformation("Received Create Organisation Standard Version Request");

            var version = await _mediator.Send(request);

            return(CreatedAtRoute("CreateOrganisationStandardVersion",
                                  new { id = version.StandardUId },
                                  version));
        }
Ejemplo n.º 4
0
        public async Task CreateOrganisationStandardVersion()
        {
            var request = new OrganisationStandardVersionOptInRequest();

            _mockMediator.Setup(s => s.Send(request, Moq.It.IsAny <CancellationToken>()))
            .Returns(Task.FromResult(new OrganisationStandardVersion()
            {
                Version = "1.2", StandardUId = "ST0001_1_2"
            }));

            var controllerResult = await _controller.CreateOrganisationStandardVersion(request) as CreatedAtRouteResult;

            controllerResult.StatusCode.Should().Be((int)HttpStatusCode.Created);

            var model = controllerResult.Value as OrganisationStandardVersion;

            model.Version.Should().Be("1.2");
            model.StandardUId.Should().Be("ST0001_1_2");
        }
Ejemplo n.º 5
0
        public async Task ThenOrganisationStandardIsCreated()
        {
            //Arrange
            var request = new OrganisationStandardVersionOptInRequest()
            {
                EndPointAssessorOrganisationId = "ORG",
                StandardReference = "ST0001",
                StandardUId       = "ST0001_1_2",
                Version           = "1.2",
                ApplicationId     = _applicationId
            };

            //Act
            var result = await _sut.Handle(request, new CancellationToken());

            //Assert
            _mockRepository.Verify(m => m.CreateOrganisationStandardVersion(It.Is <Domain.Entities.OrganisationStandardVersion>(x =>
                                                                                                                                x.OrganisationStandardId == 123 &&
                                                                                                                                x.StandardUId == "ST0001_1_2" &&
                                                                                                                                x.Version == "1.2")));
        }
Ejemplo n.º 6
0
        public async Task ThenApplicationIsSubmitted()
        {
            //Arrange
            var request = new OrganisationStandardVersionOptInRequest()
            {
                EndPointAssessorOrganisationId = "ORG",
                StandardReference = "ST0001",
                StandardUId       = "ST0001_1_2",
                Version           = "1.2",
                ApplicationId     = _applicationId
            };

            //Act
            var result = await _sut.Handle(request, new CancellationToken());

            //Assert
            _mockApplyRepository.Verify(m => m.SubmitApplicationSequence(It.Is <Domain.Entities.Apply>(x =>
                                                                                                       x.Id == _applicationId &&
                                                                                                       x.ApplicationStatus == ApplicationStatus.Approved &&
                                                                                                       x.ReviewStatus == ApplicationStatus.Approved &&
                                                                                                       x.StandardReference == "ST0001")));
        }
        public async Task <OrganisationStandardVersion> OrganisationStandardVersionOptIn(Guid applicationId, Guid contactId, string endPointAssessorOrganisationId,
                                                                                         string standardReference, string version, string standardUId, bool optInFollowingWithdrawal, string comments)
        {
            var createVersionRequest = new OrganisationStandardVersionOptInRequest
            {
                ApplicationId = applicationId,
                EndPointAssessorOrganisationId = endPointAssessorOrganisationId,
                StandardReference   = standardReference,
                Version             = version,
                StandardUId         = standardUId,
                EffectiveFrom       = DateTime.Today,
                EffectiveTo         = null,
                DateVersionApproved = null,
                Comments            = comments,
                Status = OrganisationStatus.Live,
                SubmittingContactId      = contactId,
                OptInFollowingWithdrawal = optInFollowingWithdrawal
            };

            using (var request = new HttpRequestMessage(HttpMethod.Post, $"/api/v1/organisationstandardversion"))
            {
                return(await PostPutRequestWithResponse <OrganisationStandardVersionOptInRequest, OrganisationStandardVersion>(request, createVersionRequest));
            }
        }