public async Task IsValidForSubmission_When_Invalid_Should_SendNotificationToSupportTeam() { // Arrange var costId = Guid.NewGuid(); const string message = "Any message"; const string costNumber = "PO12312313"; EFContext.Add(new Cost { Id = costId, CostNumber = costNumber }); EFContext.SaveChanges(); CostBuilderMock.Setup(cb => cb.IsValidForSubmittion(costId)).ReturnsAsync(new OperationResponse(false, message)); // Act var result = await CostService.IsValidForSubmission(User, costId); // Assert result.Should().NotBeNull(); result.Success.Should().Be(false); SupportNotificationServiceMock.Verify(sn => sn.SendSupportSubmissionFailedNotification(costNumber, null), Times.Once); }
public async Task IsValidForSubmission_Always_Should_GetResultFromCostBuilder(bool isValid) { // Arrange var costId = Guid.NewGuid(); const string message = "Any message"; EFContext.Add(new Cost { Id = costId }); EFContext.SaveChanges(); CostBuilderMock.Setup(cb => cb.IsValidForSubmittion(costId)).ReturnsAsync(new OperationResponse(isValid, message)); // Act var result = await CostService.IsValidForSubmission(User, costId); // Assert result.Should().NotBeNull(); result.Success.Should().Be(isValid); }