public void GetLayoutSuccess()
        {
            //Arrange
            var layoutTypeRepository = new LayoutTypeRepository(_container);
            var dbContext            = _serviceProvider.GetRequiredService <DeviserDbContext>();
            var layoutTypes          = TestDataRepository.GetLayoutTypes();

            foreach (var item in layoutTypes)
            {
                layoutTypeRepository.CreateLayoutType(item);
            }
            var id = layoutTypes.First().Id;

            //Act
            var result = layoutTypeRepository.GetLayoutType(id);

            //Assert
            Assert.NotNull(result);
            Assert.NotEqual(result.Id, Guid.Empty);
            Assert.False(result.IsActive);
            Assert.True(!string.IsNullOrEmpty(result.Name));
            Assert.True(!string.IsNullOrEmpty(result.Label));
            Assert.True(!string.IsNullOrEmpty(result.LayoutTypeIds));
            Assert.True(result.CreatedDate > DateTime.MinValue);
            Assert.True(result.LastModifiedDate > DateTime.MinValue);

            //Clean
            dbContext.LayoutType.RemoveRange(dbContext.LayoutType);
        }
        public void UpdateLayoutTypePropAddSuccess()
        {
            //Arrange
            var layoutTypeRepository = new LayoutTypeRepository(_container);
            var dbContext            = _serviceProvider.GetRequiredService <DeviserDbContext>();
            var layoutTypes          = TestDataRepository.GetLayoutTypes();

            foreach (var item in layoutTypes)
            {
                layoutTypeRepository.CreateLayoutType(item);
            }
            var layoutTypeToUpdate = layoutTypes.First();

            layoutTypeToUpdate.Properties = new List <Property>();
            var properties = TestDataRepository.GetProperties();
            var cssProp    = properties[0];

            layoutTypeToUpdate.Properties.Add(cssProp);

            //Act
            layoutTypeToUpdate.Label = "New Label";
            var result = layoutTypeRepository.UpdateLayoutType(layoutTypeToUpdate);

            //Assert
            Assert.NotNull(result);
            Assert.True(result.Label == layoutTypeToUpdate.Label);
            Assert.True(result.Properties.Count > 0);

            //Clean
            dbContext.Property.RemoveRange(dbContext.Property);
            dbContext.LayoutTypeProperty.RemoveRange(dbContext.LayoutTypeProperty);
            dbContext.LayoutType.RemoveRange(dbContext.LayoutType);
        }
        public void CreateLayoutFail()
        {
            //Arrange
            var        layoutTypeRepository = new LayoutTypeRepository(_container);
            LayoutType layoutType           = null;

            //Act
            var result = layoutTypeRepository.CreateLayoutType(layoutType);

            //Assert
            Assert.Null(result);
        }
        public void GetLayoutsFail()
        {
            //Arrange
            var layoutTypeRepository = new LayoutTypeRepository(_container);
            var dbContext            = _serviceProvider.GetRequiredService <DeviserDbContext>();

            dbContext.LayoutType.RemoveRange(dbContext.LayoutType);

            //Act
            var result = layoutTypeRepository.GetLayoutTypes();

            //Assert
            Assert.NotNull(result);
            Assert.True(result.Count == 0);
        }
        public void GetLayoutTypeFail(string typeName)
        {
            var layoutTypeRepository = new LayoutTypeRepository(_container);
            var dbContext            = _serviceProvider.GetRequiredService <DeviserDbContext>();
            var layoutTypes          = TestDataRepository.GetLayoutTypes();

            foreach (var item in layoutTypes)
            {
                layoutTypeRepository.CreateLayoutType(item);
            }

            //Act
            var result = layoutTypeRepository.GetLayoutType(typeName);

            //Assert
            Assert.Null(result);
        }
        public void CreateLayoutTypeSuccess()
        {
            //Arrange
            var layoutTypeRepository = new LayoutTypeRepository(_container);
            var layoutTypes          = TestDataRepository.GetLayoutTypes();
            var layoutType           = layoutTypes.First();

            //Act
            var result = layoutTypeRepository.CreateLayoutType(layoutType);

            //Assert
            Assert.NotNull(result);
            Assert.NotEqual(result.Id, Guid.Empty);
            Assert.False(result.IsActive);
            Assert.True(!string.IsNullOrEmpty(result.Name));
            Assert.True(!string.IsNullOrEmpty(result.Label));
            Assert.True(!string.IsNullOrEmpty(result.LayoutTypeIds));
            Assert.True(result.CreatedDate > DateTime.MinValue);
            Assert.True(result.LastModifiedDate > DateTime.MinValue);
        }
        public void GetLayoutFail()
        {//Arrange
            var layoutTypeRepository = new LayoutTypeRepository(_container);
            var dbContext            = _serviceProvider.GetRequiredService <DeviserDbContext>();
            var layoutTypes          = TestDataRepository.GetLayoutTypes();

            foreach (var item in layoutTypes)
            {
                layoutTypeRepository.CreateLayoutType(item);
            }
            var id = Guid.Empty;

            //Act
            var result = layoutTypeRepository.GetLayoutType(id);

            //Assert
            Assert.Null(result);

            //Clean
            dbContext.LayoutType.RemoveRange(dbContext.LayoutType);
        }
        public void GetLayoutTypesSuccess()
        {
            //Arrange
            var layoutTypeRepository = new LayoutTypeRepository(_container);
            var dbContext            = _serviceProvider.GetRequiredService <DeviserDbContext>();
            var layoutTypes          = TestDataRepository.GetLayoutTypes();

            foreach (var item in layoutTypes)
            {
                layoutTypeRepository.CreateLayoutType(item);
            }

            //Act
            var result = layoutTypeRepository.GetLayoutTypes();

            //Assert
            Assert.NotNull(result);
            Assert.True(result.Count > 0);

            //Clean
            dbContext.LayoutType.RemoveRange(dbContext.LayoutType);
        }