public void Handle_CallsInnerApi_ThrowsException( [Frozen] Mock <IRoatpCourseManagementApiClient <RoatpV2ApiConfiguration> > apiClientMock, GetAllCoursesQuery query, GetAllCoursesQueryHandler sut) { apiClientMock.Setup(c => c.Get <List <GetAllCoursesResponse> >(It.IsAny <GetAllCoursesRequest>())).ThrowsAsync(new Exception()); Assert.ThrowsAsync <Exception>(() => sut.Handle(query, new CancellationToken())); }
public async Task Handle_CallsInnerApi_ReturnsNullSetWithNullCourses( [Frozen] Mock <IRoatpCourseManagementApiClient <RoatpV2ApiConfiguration> > apiClientMock, GetAllCoursesQuery query, GetAllCoursesQueryHandler sut) { apiClientMock.Setup(c => c.Get <List <GetAllCoursesResponse> >(It.IsAny <GetAllCoursesRequest>())).ReturnsAsync((List <GetAllCoursesResponse>)null); var result = await sut.Handle(query, new CancellationToken()); result.Should().BeNull(); }
public void GetCourses_WhenItsExist_ShouldSuccess() { using (var sut = new SystemUnderTest()) { var course = sut.CreateCourse("Kurs Angielskiego A1", 2019, 350); var courses = new List <Course> { course }; var unitOfWorkSubstitute = Substitute.For <IUnitOfWork>(); unitOfWorkSubstitute.CoursesRepository.GetAll().Returns(courses); var query = new GetAllCoursesQuery(); var queryHandler = new GetAllCoursesQueryHandler(unitOfWorkSubstitute); var coursesQuery = queryHandler.Handle(query); coursesQuery.Count.Should().Be(1); } }
public async Task Handle_CallsInnerApi_ReturnsResults( [Frozen] Mock <IRoatpCourseManagementApiClient <RoatpV2ApiConfiguration> > apiClientMock, List <GetAllCoursesResponse> courses, GetAllCoursesQuery query, GetAllCoursesQueryHandler sut) { apiClientMock.Setup(c => c.Get <List <GetAllCoursesResponse> >(It.IsAny <GetAllCoursesRequest>())).ReturnsAsync(courses); var result = await sut.Handle(query, new CancellationToken()); result.Should().BeEquivalentTo(courses, options => options.Excluding(c => c.IfateReferenceNumber) .Excluding(c => c.StandardInfoUrl) .Excluding(c => c.ContactUsPhoneNumber) .Excluding(c => c.ContactUsEmail) .Excluding(c => c.ContactUsPageUrl) .Excluding(c => c.IsConfirmed) .Excluding(c => c.HasNationalDeliveryOption) .Excluding(c => c.DeliveryModels) .Excluding(c => c.HasHundredPercentEmployerDeliveryOption) ); }