public void ByEvidence_CallsFilter()
        {
            var logic = new DummyReviewsLogicBase(_modifier.Object, _datastore.Object, _contacts.Object, _validator.Object, _filter.Object, _context.Object);

            logic.ByEvidence("some Id");

            _filter.Verify(x => x.Filter(It.IsAny <IEnumerable <IEnumerable <ReviewsBase> > >()), Times.Once());
        }
        public void Create_Calls_Modifier()
        {
            var logic  = new DummyReviewsLogicBase(_modifier.Object, _datastore.Object, _contacts.Object, _validator.Object, _filter.Object, _context.Object);
            var review = Creator.GetReviewsBase(originalDate: DateTime.MinValue);

            logic.Create(review);

            _modifier.Verify(x => x.ForCreate(review), Times.Once);
        }
        public void Create_CallsValidator_WithRuleset()
        {
            _context.Setup(x => x.HttpContext).Returns(Creator.GetContext());
            _contacts.Setup(x => x.ByEmail(It.IsAny <string>())).Returns(Creator.GetContact());
            var logic  = new DummyReviewsLogicBase(_modifier.Object, _datastore.Object, _contacts.Object, _validator.Object, _filter.Object, _context.Object);
            var review = Creator.GetReviewsBase();

            var valres = new ValidationResult();

            _validator.Setup(x => x.Validate(It.IsAny <ValidationContext>())).Returns(valres);

            logic.Create(review);

            _validator.Verify(x => x.ValidateAndThrowEx(
                                  It.Is <DummyReviewsBase>(ev => ev == review),
                                  It.Is <string>(rs => rs == nameof(IEvidenceLogic <ReviewsLogicBase <ReviewsBase> > .Create))), Times.Once());
        }