public async Task ValidateAsync_FieldExists_DoesNothing() { //arrange var fieldContainer = new Mock <IFieldContainer>(); var field = new Field(); var fieldDataAccess = new Mock <IFieldDataAccess>(); fieldDataAccess.Setup(x => x.GetByAsync(fieldContainer.Object)).ReturnsAsync(field); var fieldGetService = new FieldGetService(fieldDataAccess.Object); //act var action = new Func <Task>(() => fieldGetService.ValidateAsync(fieldContainer.Object)); //assert await action.Should().NotThrowAsync <Exception>(); }
public async Task ValidateAsync_FieldNotExists_ThrowsError() { //arrange var fixture = new Fixture(); var id = fixture.Create <int>(); var fieldContainer = new Mock <IFieldContainer>(); fieldContainer.Setup(x => x.FieldId).Returns(id); var field = new Field(); var fieldDataAccess = new Mock <IFieldDataAccess>(); fieldDataAccess.Setup(x => x.GetByAsync(fieldContainer.Object)).ReturnsAsync((Field)null); var fieldGetService = new FieldGetService(fieldDataAccess.Object); //act var action = new Func <Task>(() => fieldGetService.ValidateAsync(fieldContainer.Object)); //assert await action.Should().ThrowAsync <InvalidOperationException>($"Field not found by id {id}"); }