public async Task ShouldThrowTeacherViewDependencyExceptionIfDependecyErrorOccursAndLogItAsync( Exception dependencyException) { var expectedTeacherViewDependencyException = new TeacherViewDependencyException(dependencyException); this.teacherServiceMock.Setup(service => service.RetrieveAllTeachersAsync()) .ThrowsAsync(dependencyException); ValueTask <List <TeacherView> > retrieveAllTeacherViewsTask = this.teacherViewService.RetrieveAllTeacherViewsAsync(); await Assert.ThrowsAsync <TeacherViewDependencyException>(() => retrieveAllTeacherViewsTask.AsTask()); this.teacherServiceMock.Verify(service => service.RetrieveAllTeachersAsync(), Times.Once); this.loggingBrokerMock.Verify(broker => broker.LogError(It.Is(SameExceptionAs( expectedTeacherViewDependencyException))), Times.Once); this.teacherServiceMock.VerifyNoOtherCalls(); this.loggingBrokerMock.VerifyNoOtherCalls(); }
private TeacherViewDependencyException CreateAndLogDependencyException(Exception innerException) { var teacherViewDependencyException = new TeacherViewDependencyException(innerException); this.loggingBroker.LogError(teacherViewDependencyException); return(teacherViewDependencyException); }