public void FailWithUnauthorizedAccessExceptionIfUserTriesToAccessAnythingWithoutEarningQueriesPrivilege()
        {
            var mockUnitOfWork = new Mock <IUnitOfWork>();

            mockUnitOfWork
            .Setup(un => un.CurrentSignedInUserHasRequiredPrivilege(It.IsAny <string>(), EarningQueriesPrivilege.GetInstance()))
            .Returns(false);
            EarningQueriesService earningQueriesService = new EarningQueriesService(mockUnitOfWork.Object);

            double result = earningQueriesService.GetAllEarnings(DateTime.Today, DateTime.Today, It.IsAny <string>());
        }
        public void BeAbleToGetAllEarnings()
        {
            Payment        payment      = CreateNewPayment();
            List <Payment> paymentsList = new List <Payment>();

            paymentsList.Add(payment);
            var mockUnitOfWork = new Mock <IUnitOfWork>();

            mockUnitOfWork.Setup(x => x.PaymentRepository.Get(null, null, "")).Returns(paymentsList);
            mockUnitOfWork.Setup(x => x.CurrentSignedInUserHasRequiredPrivilege(It.IsAny <string>(),
                                                                                EarningQueriesPrivilege.GetInstance())).Returns(true);
            EarningQueriesService earningQueries = new EarningQueriesService(mockUnitOfWork.Object);

            double resultingValue = earningQueries.GetAllEarnings(DateTime.Today, DateTime.Today, It.IsAny <string>());

            mockUnitOfWork.VerifyAll();
            Assert.AreEqual(3, resultingValue);
        }
        public void FailIfUnitOfWorkOnCreationIsNull()
        {
            IUnitOfWork mockUnitOfWork = null;

            EarningQueriesService service = new EarningQueriesService(mockUnitOfWork);
        }
        public void ReceiveAUnitOfWorkOnCreation()
        {
            var mockUnitOfWork = new Mock <IUnitOfWork>();

            EarningQueriesService service = new EarningQueriesService(mockUnitOfWork.Object);
        }