public void ShouldThrowSpecificExceptionOnCreateSubscriber()
        {
            _mockService.Setup(x => x.CreateSubscription(It.IsAny <SubscriberModel>())).Returns(SUSBCRIBER_JSON);
            var badClient = new SubscriptionClient(_mockService.Object);
            var ex        = Assert.Throws <Exception>(() => badClient.CreateSubscription(100, "uniqueAppId", "name"));

            Assert.NotNull(ex);
            Assert.AreEqual("Subscription type with id of: 100 was not found", ex.Message);
        }
        public void ShouldThrowGeneralExceptionOnCreateSubscriber()
        {
            _mockService.Setup(x => x.GetConfiguration()).Returns(string.Empty);
            _mockService.Setup(x => x.CreateSubscription(It.IsAny <SubscriberModel>())).Returns(SUSBCRIBER_JSON);
            _client = new SubscriptionClient(_mockService.Object);
            new Cache().Remove("subscrio_configuraion");
            var ex = Assert.Throws <Exception>(() => _client.CreateSubscription(1, "uniqueAppId", "name"));

            Assert.NotNull(ex);
            Assert.AreEqual("Missing configuration or subscription types, no subscription types found", ex.Message);
        }
        public void ShouldCreateSubscriber()
        {
            _mockService.Setup(x => x.CreateSubscription(It.IsAny <SubscriberModel>())).Returns(SUSBCRIBER_JSON);
            _client = new SubscriptionClient(_mockService.Object);
            var result = _client.CreateSubscription(1, "uniqueAppId", "name");

            Assert.AreEqual(true, result.RoutingEnabled);
            Assert.AreEqual(44.44m, result.DailyRate);
            Assert.AreEqual(222, result.EnterpriseChatLimit);
            Assert.AreEqual("the name", result.PlanName);
            Assert.AreEqual(2015, result.NewVersionDate.Year);
            Assert.AreEqual(9, result.NewVersionDate.Month);
            Assert.AreEqual(4, result.NewVersionDate.Day);
        }