public void Save_NonExistentTypeCreatesNewPageType() { #region Arrange Extend.PageType newPageType = new Extend.PageType { View = null, Id = "NewPageType", Title = "New Page Type", Regions = new List <Extend.RegionType> { new Extend.RegionType { Id = "Content", Title = "Main Content", Fields = new List <Extend.FieldType> { new Extend.FieldType { Type = "Html", } } } }, }; #endregion #region Act repository.Save(newPageType); #endregion #region Assert mockPageTypeSet.Verify(db => db.Add( It.Is <Data.PageType>(t => t.Id == newPageType.Id) ), Times.Once()); mockDb.Verify(db => db.SaveChanges(), Times.Once()); #endregion }
/// <summary> /// Asserts that the given page types are the same /// </summary> /// <param name="expected">The expected page type</param> /// <param name="actual">The actual page type</param> private void AssertPageTypesMatch(Extend.PageType expected, Extend.PageType actual) { Assert.NotNull(actual); Assert.Equal(expected.Id, actual.Id); Assert.Equal(expected.Route, actual.Route); Assert.Equal(expected.Title, actual.Title); }
public void GetById_EmptyIdGivesNull(string pageTypeId) { #region Arrange #endregion #region Act Extend.PageType result = repository.GetById(pageTypeId); #endregion #region Assert Assert.Null(result); #endregion }
public void GetById_InvalidIdGivesNull(int pageTypeIdAsInt) { #region Arrange string pageTypeId = $"PageType{pageTypeIdAsInt}"; #endregion #region Act Extend.PageType result = repository.GetById(pageTypeId); #endregion #region Assert Assert.Null(result); #endregion }
public void GetById_EmptySetGivesNull(int pageTypeIdAsInt) { #region Arrange pageTypesList.Clear(); string pageTypeId = $"PageType{pageTypeIdAsInt}"; #endregion #region Act Extend.PageType result = repository.GetById(pageTypeId); #endregion #region Assert Assert.Null(result); #endregion }
public void Save_ExistingTypeUpdatesPageType() { #region Arrange Data.PageType pageTypeData = pageTypesList[0]; Extend.PageType existingPageType = JsonConvert.DeserializeObject <Extend.PageType>(pageTypeData.Body); #endregion #region Act repository.Save(existingPageType); #endregion #region Assert mockPageTypeSet.Verify(db => db.Add(It.IsAny <Data.PageType>()), Times.Never()); mockDb.Verify(db => db.SaveChanges(), Times.Once()); #endregion }
public void GetById_ValidIdGivesProperPageType(int pageTypeIdAsInt) { #region Arrange string pageTypeId = $"PageType{pageTypeIdAsInt}"; Data.PageType pageType = pageTypesList.FirstOrDefault(t => t.Id == pageTypeId); Extend.PageType expectedPageType = JsonConvert.DeserializeObject <Extend.PageType>(pageType.Body); #endregion #region Act Extend.PageType result = repository.GetById(pageTypeId); #endregion #region Assert AssertPageTypesMatch(expectedPageType, result); #endregion }
/// <summary> /// Saves the given page type. /// </summary> /// <param name="pageType">The page type</param> public void Save(Extend.PageType pageType) { var type = db.PageTypes .FirstOrDefault(t => t.Id == pageType.Id); if (type == null) { type = new Data.PageType() { Id = pageType.Id }; db.PageTypes.Add(type); } type.Body = JsonConvert.SerializeObject(pageType); db.SaveChanges(); }
public void Delete_ValidObjectRemovesItem(int pageTypeIdAsInt) { #region Arrange string pageTypeId = $"PageType{pageTypeIdAsInt}"; Data.PageType dataPageType = pageTypesList.FirstOrDefault(t => t.Id == pageTypeId); Extend.PageType extendPageType = JsonConvert.DeserializeObject <Extend.PageType>(dataPageType.Body); #endregion #region Act repository.Delete(extendPageType); #endregion #region Assert mockPageTypeSet.Verify(db => db.Remove(It.Is <Data.PageType>( t => t.Id == pageTypeId )), Times.Once()); mockDb.Verify(db => db.SaveChanges(), Times.Once); #endregion }
/// <summary> /// Deletes the given page type. /// </summary> /// <param name="pageType">The page type</param> public void Delete(Extend.PageType pageType) { Delete(pageType.Id); }