public void GetThuriaDataModelColumnName_GivenDataModel_ShouldReturnExpectedAttribute(string propertyName, bool isAttributeSet, string columnName = null, string columnAlias = null, bool isInsertColumn = true, bool isUpdateColumn = true) { //---------------Set up test pack------------------- var dataModel = new ThuriaTestDataModel(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var columnAttribute = dataModel.GetThuriaDataModelColumnName(propertyName); //---------------Test Result ----------------------- columnAttribute.Should().NotBeNull(); if (isAttributeSet) { columnAttribute.ColumnName.Should().Be(columnName); columnAttribute.Alias.Should().Be(columnAlias); columnAttribute.IsInsertColumn.Should().Be(isInsertColumn); columnAttribute.IsUpdateColumn.Should().Be(isUpdateColumn); } else { columnAttribute.ColumnName.Should().Be(propertyName); columnAttribute.Alias.Should().BeNullOrEmpty(); columnAttribute.IsInsertColumn.Should().BeTrue(); columnAttribute.IsUpdateColumn.Should().BeTrue(); } }
public void GetThuriaDataModelTableName_GivenDataModelWithTableAttributeSet_ShouldReturnNameSpecifiedInAttribute() { //---------------Set up test pack------------------- var dataModel = new ThuriaTestDataModel(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var tableName = dataModel.GetThuriaDataModelTableName(); //---------------Test Result ----------------------- tableName.Should().Be("ThuriaTestOne"); }
public void GetThuriaDataModelColumnName_GivenPropertyDoesNotExist_ShouldThrowException() { //---------------Set up test pack------------------- var propertyName = "InvalidProperty"; var dataModel = new ThuriaTestDataModel(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var exception = Assert.Throws <Exception>(() => dataModel.GetThuriaDataModelColumnName(propertyName)); //---------------Test Result ----------------------- exception.Message.Should().Be($"Property {propertyName} does not exist on {dataModel.GetType().FullName}"); }
public void GetThuriaDataModelRelationships_GivenDataModelWithRelationships_ShouldReturnListOfRelationships() { //---------------Set up test pack------------------- var dataModel = new ThuriaTestDataModel(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var modelRelationships = dataModel.GetThuriaDataModelRelationships(); //---------------Test Result ----------------------- var thuriaRelationshipAttributes = modelRelationships.ToList(); thuriaRelationshipAttributes.Should().NotBeNull(); thuriaRelationshipAttributes.Count.Should().Be(2); }
public void GetThuriaDataModelPrimaryKey_GivenDataModelWithPrimaryKey_ShouldReturnExpectedColumnAttribute() { //---------------Set up test pack------------------- var dataModel = new ThuriaTestDataModel(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var primaryKey = dataModel.GetThuriaDataModelPrimaryKey(); //---------------Test Result ----------------------- primaryKey.Should().NotBeNull(); primaryKey.ColumnName.Should().Be("Id"); primaryKey.PropertyName.Should().Be("Id"); }
public void GetThuriaDataModelConditions_GivenDataModelWithConditions_ShouldReturnAllExpectedConditions(DbContextAction DbContextAction, int noOfExpectedConditions) { //---------------Set up test pack------------------- var dataModel = new ThuriaTestDataModel { Id = Guid.NewGuid(), Name = RandomValueGenerator.CreateRandomString(), Description = RandomValueGenerator.CreateRandomString(), ModifiedDate = RandomValueGenerator.CreateRandomDate(), IsActive = true }; //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var allConditions = dataModel.GetThuriaDataModelConditions(DbContextAction); //---------------Test Result ----------------------- var dataModelConditions = allConditions.ToList(); dataModelConditions.Should().NotBeNull(); dataModelConditions.Count.Should().Be(noOfExpectedConditions); }
public void GetThuriaDataModelColumns_ShouldReturnTheExpectedColumnAttributes(DbContextAction DbContextAction, string columnName, string propertyName, bool isExpectedInList = true) { //---------------Set up test pack------------------- var dataModel = new ThuriaTestDataModel(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var dataModelColumns = dataModel.GetThuriaDataModelColumns(DbContextAction); //---------------Test Result ----------------------- var columnAttributes = dataModelColumns.ToList(); columnAttributes.Should().NotBeNull(); if (isExpectedInList) { columnAttributes.Should().Contain(attribute => attribute.ColumnName == columnName); columnAttributes.Should().Contain(attribute => attribute.PropertyName == propertyName); } else { columnAttributes.Should().NotContain(attribute => attribute.ColumnName == columnName); columnAttributes.Should().NotContain(attribute => attribute.PropertyName == propertyName); } }
public void GetThuriaPopulatedRelationshipMetadata_GivenDataModelWithRelationships_ShouldReturnListOfRelationships() { //---------------Set up test pack------------------- var dataModel = new ThuriaTestDataModel { Id = Guid.NewGuid(), Name = RandomValueGenerator.CreateRandomString(), Description = RandomValueGenerator.CreateRandomString(), ModifiedDate = RandomValueGenerator.CreateRandomDate(), IsActive = true, ForeignTestDataModel = new ThuriaForeignTestDataModel(), AllForeignTests = new List <ThuriaForeignTestDataModel> { new ThuriaForeignTestDataModel() } }; //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var modelRelationships = dataModel.GetThuriaPopulatedRelationshipMetadata(); //---------------Test Result ----------------------- var thuriaRelationshipAttributes = modelRelationships.ToList(); thuriaRelationshipAttributes.Should().NotBeNull(); thuriaRelationshipAttributes.Count.Should().Be(2); }