Exemplo n.º 1
0
        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
        }
Exemplo n.º 2
0
 /// <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);
 }
Exemplo n.º 3
0
        public void GetById_EmptyIdGivesNull(string pageTypeId)
        {
            #region Arrange
            #endregion

            #region Act
            Extend.PageType result = repository.GetById(pageTypeId);
            #endregion

            #region Assert
            Assert.Null(result);
            #endregion
        }
Exemplo n.º 4
0
        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
        }
Exemplo n.º 5
0
        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
        }
Exemplo n.º 6
0
        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
        }
Exemplo n.º 7
0
        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();
        }
Exemplo n.º 9
0
        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);
 }