public void ContactSettingsRepository_NoPresets_ShouldReturnEmptyCollection([Frozen(As = typeof(SiteContext))] FakeSiteContext sitecoreContext, FakeSiteContextSwitcher siteContextSwitcher, Db db, [Greedy] SettingsRepository repo)
        {
            CreateItem(db, PresetsRoot + sitecoreContext.Name);

            repo.GetPresets().Count.Should().Be(0);
        }
        public void Save_SpecPassed_ShouldBeSavedCorrectly(string settingName, [Frozen(As = typeof(SiteContext))] FakeSiteContext sitecoreContext, FakeSiteContextSwitcher siteContextSwitcher, Db db, [Greedy] SettingsRepository repo)
        {
            CreateItem(db, PresetsRoot + sitecoreContext.Name);
            repo.Save(settingName, EmptySpecification);
            var itemPath  = String.Concat(PresetsRoot, sitecoreContext.Name, "/", settingName);
            var savedSpec = db.GetItem(itemPath)[Templates.Preset.Fields.Specification];

            JObject.Parse(savedSpec).ToString().Should().Be(EmptySpecification.ToString());
        }
        public void Save_WithExistingItemName_ShouldOverrideItem(string settingName, [Frozen(As = typeof(SiteContext))] FakeSiteContext sitecoreContext, FakeSiteContextSwitcher siteContextSwitcher, Db db, [Greedy] SettingsRepository repo)
        {
            CreateItem(db, PresetsRoot + sitecoreContext.Name);
            repo.Save(settingName, EmptySpecification);
            var settingItemPath = String.Concat(PresetsRoot, sitecoreContext.Name, "/", settingName);
            var savedSpec       = db.GetItem(settingItemPath)[Templates.Preset.Fields.Specification];

            JObject.Parse(savedSpec).ToString().Should().Be(EmptySpecification.ToString());
            var jToken = (JObject)EmptySpecification.DeepClone();

            jToken["someKey"] = "someVal";
            repo.Save(settingName, jToken);
            savedSpec = db.GetItem(settingItemPath)[Templates.Preset.Fields.Specification];
            JObject.Parse(savedSpec).ToString().Should().Be(jToken.ToString());
        }
 public void Save_OnePresent_ShouldReturnSingleSetting(string settingName, [Frozen(As = typeof(SiteContext))] FakeSiteContext sitecoreContext, FakeSiteContextSwitcher siteContextSwitcher, Db db, [Greedy] SettingsRepository repo)
 {
     CreateItem(db, PresetsRoot + sitecoreContext.Name);
     repo.Save(settingName, EmptySpecification);
     repo.GetPresets().Count.Should().Be(1);
 }