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); }
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); }
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)); }
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"); }
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"))); }
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)); } }