public async Task ValidateAsync_RentExists_DoesNothing() { // Arrange var rentContainer = new Mock <IRentContainer>(); var rent = new Rent(); var rentDataAccess = new Mock <IRentDataAccess>(); rentDataAccess.Setup(x => x.GetByAsync(rentContainer.Object)).ReturnsAsync(rent); var rentGetService = new RentGetService(rentDataAccess.Object); // Act var action = new Func <Task>(() => rentGetService.ValidateAsync(rentContainer.Object)); // Assert await action.Should().NotThrowAsync <Exception>(); }
public async Task ValidateAsync_RentNotExists_ThrowsError() { // Arrange var fixture = new Fixture(); var id = fixture.Create <int>(); var rentContainer = new Mock <IRentContainer>(); rentContainer.Setup(x => x.RentId).Returns(id); var rent = new Rent(); var rentDataAccess = new Mock <IRentDataAccess>(); rentDataAccess.Setup(x => x.GetByAsync(rentContainer.Object)).ReturnsAsync((Rent)null); var rentGetService = new RentGetService(rentDataAccess.Object); // Act var action = new Func <Task>(() => rentGetService.ValidateAsync(rentContainer.Object)); // Assert await action.Should().ThrowAsync <InvalidOperationException>($"Rent not found by id {id}"); }