예제 #1
0
        public void Perform_MissingUser_BetaFull_Sorry()
        {
            Join_Accessor target = new Join_Accessor(); // TODO: Initialize to an appropriate value

            IDataStore store = DataStore.GetInstance();
            IConfiguration config = Configuration.GetInstance();

            int count = 0;

            while(store.Subscriptions.Count() < config.BetaLimit)
            {
                store.Save(new Subscription
                {
                    Next = DateTime.UtcNow,
                    Phone = string.Format(CultureInfo.InvariantCulture, "+1111222{0}", count++),
                });
            }

            IncomingSmsMessage message = new IncomingSmsMessage
            {
                From = base.NonSubscriberPhone,
                Message = target.Action,
            };

            Assert.AreEqual(config.BetaLimit, store.Subscriptions.Count());

            target.PerformAdmin(message);

            Assert.AreEqual(config.BetaLimit, store.Subscriptions.Count());

            base.OutgoingMessageExists(message.From, SmsResponseStrings.Join_SorryBetaFull());
            base.OutgoingMessageExists(config.AdminNumber, SmsResponseStrings.Join_AdminBetaReject());
        }
예제 #2
0
        public void Perform_MissingUser_BetaFull_Sorry()
        {
            Join_Accessor target = new Join_Accessor(); // TODO: Initialize to an appropriate value

            IDataStore     store  = DataStore.GetInstance();
            IConfiguration config = Configuration.GetInstance();

            int count = 0;

            while (store.Subscriptions.Count() < config.BetaLimit)
            {
                store.Save(new Subscription
                {
                    Next  = DateTime.UtcNow,
                    Phone = string.Format(CultureInfo.InvariantCulture, "+1111222{0}", count++),
                });
            }

            IncomingSmsMessage message = new IncomingSmsMessage
            {
                From    = base.NonSubscriberPhone,
                Message = target.Action,
            };

            Assert.AreEqual(config.BetaLimit, store.Subscriptions.Count());

            target.PerformAdmin(message);

            Assert.AreEqual(config.BetaLimit, store.Subscriptions.Count());

            base.OutgoingMessageExists(message.From, SmsResponseStrings.Join_SorryBetaFull());
            base.OutgoingMessageExists(config.AdminNumber, SmsResponseStrings.Join_AdminBetaReject());
        }
예제 #3
0
        public void Perform_ExistingUser_Skip()
        {
            Join_Accessor target = new Join_Accessor(); // TODO: Initialize to an appropriate value

            IncomingSmsMessage message = new IncomingSmsMessage
            {
                From = base.ExistingSubscriberPhone,
                Message = target.Action,
            };

            Assert.AreEqual(1, SubscriptionForNumber(message.From).Count);

            target.PerformAdmin(message);

            Assert.AreEqual(1, SubscriptionForNumber(message.From).Count);
            base.OutgoingMessageExists(message.From, SmsResponseStrings.Join_AlreadyExists());
        }
예제 #4
0
        public void Perform_ExistingUser_Skip()
        {
            Join_Accessor target = new Join_Accessor(); // TODO: Initialize to an appropriate value

            IncomingSmsMessage message = new IncomingSmsMessage
            {
                From    = base.ExistingSubscriberPhone,
                Message = target.Action,
            };

            Assert.AreEqual(1, SubscriptionForNumber(message.From).Count);

            target.PerformAdmin(message);

            Assert.AreEqual(1, SubscriptionForNumber(message.From).Count);
            base.OutgoingMessageExists(message.From, SmsResponseStrings.Join_AlreadyExists());
        }