コード例 #1
0
        public void TestMembershipFee_NoPayments()
        {
            var user = new MemberUser();

            var(status, fee) = user.GetMembershipFee();

            status.ShouldBe(FeeStatus.Unpaid);

            fee.Description.ShouldBe("Medlemskap");
            fee.Amount.ShouldBe(300);
            fee.AmountInCents.ShouldBe(300_00);
            fee.IncludesMembership.ShouldBeTrue();
            fee.IncludesTraining.ShouldBeFalse();
            fee.IncludesClasses.ShouldBeFalse();
        }
コード例 #2
0
        public void TestMembershipFee_AlreadyPayed()
        {
            var user = new MemberUser
            {
                Payments =
                {
                    MembershipPayment()
                }
            };

            var(status, fee) = user.GetMembershipFee();

            status.ShouldBe(FeeStatus.Paid);

            fee.ShouldBeNull();
        }
コード例 #3
0
        public static (FeeStatus FeeStatus, Fee Fee) GetFee(this MemberUser user, string key)
        {
            switch (key)
            {
            case Fee.Membership:
                return(user.GetMembershipFee());

            case Fee.Training:
                return(user.GetTrainingFee());

            case Fee.Classes:
                return(user.GetClassesFee());

            default:
                throw new Exception();
            }
        }