Esempio n. 1
0
        public void Run(string[] args)
        {
            var user = chooseUser();

            if (user is SiteAdminUser)
            {
                Console.WriteLine("Please Enter new Tax Rate:");
                string  inputTaxRate = Console.ReadLine();
                decimal taxRate;
                if (decimal.TryParse(inputTaxRate, out taxRate))
                {
                    ITaxRateStore trs = new TaxRateStore(user);
                    trs.Set(taxRate);
                    Console.WriteLine("Tax Rate Updated");
                }
            }
            Console.WriteLine("Logged in as Donor...");
            IEvent anEvent = chooseEvent();

            _giftAidCalculator.SetEventType(anEvent);
            Console.WriteLine("Please Enter donation amount:");
            Console.WriteLine(_giftAidCalculator.GiftAidAmount(decimal.Parse(Console.ReadLine())));

            Console.WriteLine("Press any key to exit.");
            Console.ReadLine();
        }
Esempio n. 2
0
        public static void SetTaxRate_ByDonor_Expect_AccessDenied()
        {
            IUser loggedInUser = new DonorUser();
            var   taStore      = new TaxRateStore(loggedInUser);

            var ex = Assert.Throws <UnauthorizedAccessException>(() => taStore.Set(0));

            Assert.That(ex.Message, Is.EqualTo("Access Denied!"));
        }
Esempio n. 3
0
        public void Should_Change_TaxRate_To15()
        {
            var taxRate = 15m;

            var sut = new TaxRateStore();

            sut.SetTaxRate(taxRate);

            Assert.AreEqual(taxRate, sut.CurrentTaxRate);
        }
Esempio n. 4
0
        public static void SetTaxRate_ByNonAdminUser_Expect_UnauthorizedAccessException()
        {
            var loggedInUser = new Mock <IUser>();

            loggedInUser.SetupGet(m => m.IsAdmin).Returns(false);
            var taStore = new TaxRateStore(loggedInUser.Object);

            Assert.That(() => taStore.Set(100),
                        Throws.Exception.TypeOf <UnauthorizedAccessException>());
        }
Esempio n. 5
0
        public static void SetTaxRate_ByNonAdminUser_Verify_UsersAdminProperyChecked()
        {
            var spyUser = new Mock <IUser>();

            spyUser.SetupGet(m => m.IsAdmin).Returns(false);
            var taStore = new TaxRateStore(spyUser.Object);

            var ex = Assert.Throws <UnauthorizedAccessException>(() => taStore.Set(0));

            spyUser.Verify(m => m.IsAdmin);
        }
Esempio n. 6
0
        public static void SetTaxRate_To10ByAdmin_Expect_TaxRateChangedTo10()
        {
            decimal input = 10m;

            IUser loggedInUser = new SiteAdminUser();
            var   trStore      = new TaxRateStore(loggedInUser);

            trStore.Set(input);

            Assert.IsTrue(input == TaxRateStore.CurrentRate.Value);
        }