public void AddJPushClient_OptionsConfiguredAsNull_ThrowsException()
        {
            var oProvider = Substitute.For <IOptionsProvider>();

            oProvider.GetOptions(services).Returns(call => null);

            var builder = new JPushBuilder(services, oProvider);

            Assert.Throws <NoOptionsConfiguredException>(() =>
            {
                builder.AddJPushClient();
            });
        }
        public void AddJPushClient_OptionsConfiguredAppKeyAndMasterSecretAsEmptyString_ThrowsException()
        {
            var oProvider = Substitute.For <IOptionsProvider>();

            oProvider.GetOptions(services).Returns(call => new JPushOptions()
            {
                AppKey       = string.Empty,
                MasterSecret = string.Empty
            });

            var builder = new JPushBuilder(services, oProvider);

            Assert.Throws <InvalidOptionsConfiguredException>(() =>
            {
                builder.AddJPushClient();
            });
        }