public void Cannot_Delete_NoteRender_With_CatalogAssociated() { // Arrange var render = new NoteRender { Name = "DefaultRender", Namespace = "NameSpace", IsDefault = true, Description = "Description" }; var savedRender = RenderRepository.Add(render); var catalog = new NoteCatalog { Name = "GasLog", Render = savedRender, Schema = "Scheme", IsDefault = true, Description = "testing Catalog" }; CatalogRepository.Add(catalog); // Act var result = RenderRepository.Delete(render); // Assert Assert.False(result, "Error: deleted render with catalog attached to it"); Assert.False(RenderRepository.ProcessMessage.Success); Assert.Single(RenderRepository.ProcessMessage.MessageList); }
public void Cannot_Update_For_NonExists_NoteRender() { // Arrange var render = new NoteRender { Name = "GasLog", Namespace = "Note.GasLog", IsDefault = true, Description = "testing note" }; RenderRepository.Add(render); var render2 = new NoteRender { Name = "GasLog2", Namespace = "Note.GasLog", IsDefault = false, Description = "testing note" }; // Act var result = RenderRepository.Update(render2); // Assert Assert.Null(result); Assert.False(RenderRepository.ProcessMessage.Success); Assert.Single(RenderRepository.ProcessMessage.MessageList); }
public void Cannot_Delete_NonExists_NoteRender_From_DataSource() { // Arrange var render = new NoteRender { Name = "GasLog", Namespace = "Note.GasLog", Description = "testing note" }; RenderRepository.Add(render); var render2 = new NoteRender { Name = "GasLog2", Namespace = "Note.GasLog2", Description = "testing note" }; // Act var result = RenderRepository.Delete(render2); // Assert Assert.False(result); Assert.False(RenderRepository.ProcessMessage.Success); Assert.Single(RenderRepository.ProcessMessage.MessageList); }
public void Cannot_Update_Non_Exists_Render() { // Arrange var render = new NoteRender { Name = "Test Render", Namespace = "Default NameSpace" }; // Act var updatedRender = _manager.Update(render); // Assert Assert.False(_manager.ProcessResult.Success); Assert.Null(updatedRender); // Arrange _manager.ProcessResult.Rest(); render = new NoteRender { Id = 54, Name = "Test Render", Namespace = "Default NameSpace" }; // Act updatedRender = _manager.Update(render); // Assert Assert.False(_manager.ProcessResult.Success); Assert.Null(updatedRender); }
public void Can_Update_NoteRender() { // Arrange - update name var render = new NoteRender { Name = "GasLog", Namespace = "Note.GasLog", Description = "testing note" }; RenderRepository.Add(render); render.Name = "GasLog2"; // Act var result = RenderRepository.Update(render); // Assert Assert.NotNull(result); Assert.Equal("GasLog2", result.Name); // Arrange - update description render.Description = "new testing note"; // Act result = RenderRepository.Update(render); // Assert Assert.NotNull(result); Assert.Equal("new testing note", result.Description); }
public static NoteRender Clone(this NoteRender source, NoteRender targetRender = null) { if (source == null) { return(null); } if (targetRender == null) { var target = new NoteRender { Id = source.Id, Name = source.Name, Namespace = source.Namespace, IsDefault = source.IsDefault, Description = source.Description }; return(target); } targetRender.Id = source.Id; targetRender.Name = source.Name; targetRender.IsDefault = source.IsDefault; targetRender.Namespace = source.Namespace; return(targetRender); }
public void Can_Search_Subsystem_By_Id() { // Arrange Assert.NotNull(_author); var sys = new Subsystem { Name = "Test Subsystem", DefaultAuthor = _author, Description = "Default Subsystem", NoteCatalogs = new List <NoteCatalog> { new() { Name = "Test Catalog1", Schema = "Test Catalog1 Schema", Render = new NoteRender { Name = "Test Catalog1 Render", Namespace = "Hmm.Render", Description = "This is description of test catalog1 render" } } } }; var newSys = SubsystemRepository.Add(sys); // Act var savedSys = SubsystemRepository.GetEntities().FirstOrDefault(c => c.Id == newSys.Id); // Assert Assert.NotNull(savedSys); Assert.Equal(savedSys.Name, sys.Name); Assert.True(SubsystemRepository.ProcessMessage.Success); }
public void Cannot_Update_Note_Render_With_DuplicatedName() { // Arrange var render = new NoteRender { Name = "GasLog", IsDefault = true, Description = "testing note" }; RenderRepository.Add(render); var render2 = new NoteRender { Name = "GasLog2", IsDefault = false, Description = "testing note2" }; RenderRepository.Add(render2); render.Name = render2.Name; // Act var result = RenderRepository.Update(render); // Assert Assert.Null(result); Assert.False(RenderRepository.ProcessMessage.Success); Assert.Single(RenderRepository.ProcessMessage.MessageList); }
private void SetupTestEnv() { InsertSeedRecords(); _render = new NoteRender { Name = "Test Render" }; _renderMan = new NoteRenderManager(RenderRepository, new NoteRenderValidator()); _testValidator = FakeCatalogValidator; _manager = new NoteCatalogManager(CatalogRepository, _testValidator, LookupRepo); }
public void Can_Update_Subsystem() { // Arrange Assert.NotNull(_author); var sys = new Subsystem { Name = "Test Subsystem", DefaultAuthor = _author, Description = "Default Subsystem", NoteCatalogs = new List <NoteCatalog> { new() { Name = "Test Catalog1", Schema = "Test Catalog1 Schema", Render = new NoteRender { Name = "Test Catalog1 Render", Namespace = "Hmm.Render", Description = "This is description of test catalog1 render" } }, new () { Name = "Test Catalog2", Schema = "Test Catalog2 Schema", Render = new NoteRender { Name = "Test Catalog2 Render", Namespace = "Hmm.Render", Description = "This is description of test catalog2 render" } } } }; var newSys = SubsystemRepository.Add(sys); var savedSys = LookupRepo.GetEntities <Subsystem>().FirstOrDefault(s => s.Id == newSys.Id); Assert.NotNull(savedSys); // Act savedSys.Description = "changed default Subsystem"; var firstCatalog = savedSys.NoteCatalogs.First(); Assert.NotNull(firstCatalog); firstCatalog.Name = "Updated Test Catalog1"; firstCatalog.Render.Name = "Update Test Catalog1 Render Name"; var updatedSys = SubsystemRepository.Update(savedSys); // Assert Assert.NotNull(updatedSys); Assert.Equal("changed default Subsystem", updatedSys.Description); Assert.True(SubsystemRepository.ProcessMessage.Success); }
public void Can_Update_Subsystem() { // Arrange var sys = new Subsystem { Name = "Test Subsystem", DefaultAuthor = _author, Description = "Default Subsystem", NoteCatalogs = new List <NoteCatalog> { new() { Name = "Test Catalog1", Render = new NoteRender { Name = "Test Render1", Namespace = "Test Namespace" }, Schema = "Test Schema1" }, new() { Name = "Test Catalog2", Render = new NoteRender { Name = "Test Render2", Namespace = "Test Namespace" }, Schema = "Test Schema2" } } }; _manager.Create(sys); var savedSys = _manager.GetEntities().FirstOrDefault(s => s.Id == 1); Assert.NotNull(savedSys); // Act savedSys.Description = "changed default Subsystem"; var savedCatalog = savedSys.NoteCatalogs.FirstOrDefault(); Assert.NotNull(savedCatalog); savedCatalog.Schema = "Updated Tested schema1"; savedCatalog.Render.Description = "Tested Render description"; var updatedSys = _manager.Update(savedSys); // Assert Assert.True(_manager.ProcessResult.Success); Assert.NotNull(updatedSys); Assert.Equal("changed default Subsystem", updatedSys.Description); Assert.Equal("Updated Tested schema1", updatedSys.NoteCatalogs.First().Schema); Assert.Equal("Tested Render description", updatedSys.NoteCatalogs.First().Render.Description); }
public void Cannot_Delete_Author_With_Note_Associated() { // Arrange var render = new NoteRender { Name = "DefaultRender", Namespace = "NameSpace", IsDefault = true, Description = "Description" }; var savedRender = RenderRepository.Add(render); var catalog = new NoteCatalog { Name = "DefaultCatalog", Render = savedRender, Schema = "testScheme", IsDefault = false, Description = "Description" }; var savedCatalog = CatalogRepository.Add(catalog); var author = new Author { AccountName = "glog", Description = "testing user", IsActivated = true }; var savedUser = AuthorRepository.Add(author); var note = new HmmNote { Subject = string.Empty, Content = string.Empty, CreateDate = DateTime.Now, LastModifiedDate = DateTime.Now, Author = savedUser, Catalog = savedCatalog }; NoteRepository.Add(note); // Act var result = AuthorRepository.Delete(author); // Assert Assert.False(result, "Error: deleted user with note"); Assert.False(AuthorRepository.ProcessMessage.Success); Assert.Single(AuthorRepository.ProcessMessage.MessageList); }
public void Can_Add_Subsystem_To_DataSource() { // Arrange Assert.NotNull(_author); var sys = new Subsystem { Name = "Test subsystem", DefaultAuthor = _author, Description = "Default subsystem", NoteCatalogs = new List <NoteCatalog> { new() { Name = "Test Catalog1", Schema = "Test Catalog1 Schema", Render = new NoteRender { Name = "Test Catalog1 Render", Namespace = "Hmm.Render", Description = "This is description of test catalog1 render" } }, new () { Name = "Test Catalog2", Schema = "Test Catalog2 Schema", Render = new NoteRender { Name = "Test Catalog2 Render", Namespace = "Hmm.Render", Description = "This is description of test catalog2 render" } } } }; // Act var newSys = SubsystemRepository.Add(sys); // Assert Assert.NotNull(newSys); Assert.Equal(2, newSys.NoteCatalogs.Count()); Assert.True(newSys.Id > 0, "newSubsystem.Id >=1"); Assert.Equal("Test subsystem", newSys.Name); Assert.True(SubsystemRepository.ProcessMessage.Success); }
public void Can_Add_Render_To_DataSource() { // Arrange var render = new NoteRender { Name = "Test Render", Namespace = "Default NameSpace" }; // Act var newRender = _manager.Create(render); // Assert Assert.True(_manager.ProcessResult.Success); Assert.NotNull(newRender); Assert.True(newRender.Id >= 1, "newRender.Id >=1"); Assert.Equal("Test Render", newRender.Name); }
public void Can_Search_Render_By_Id() { // Arrange var render = new NoteRender { Name = "Test Render", Namespace = "Default NameSpace" }; var newRender = _manager.Create(render); // Act var savedRender = _manager.GetEntities().FirstOrDefault(c => c.Id == newRender.Id); // Assert Assert.True(_manager.ProcessResult.Success); Assert.NotNull(savedRender); Assert.Equal(savedRender.Name, render.Name); }
public void Can_Delete_NoteRender_From_DataSource() { // Arrange var render = new NoteRender { Name = "GasLog", Namespace = "Note.GasLog", Description = "testing note" }; RenderRepository.Add(render); // Act var result = RenderRepository.Delete(render); // Assert Assert.True(result); Assert.True(RenderRepository.ProcessMessage.Success); }
public void Can_Add_Subsystem_To_DataSource() { // Arrange var oldCatalogCount = _catalogMan.GetEntities().Count(); var oldRenderCount = _renderMan.GetEntities().Count(); var render = new NoteRender(); var sys = new Subsystem { Name = "Test subsystem", DefaultAuthor = _author, Description = "Default subsystem", NoteCatalogs = new List <NoteCatalog> { new() { Name = "Test Catalog1", Render = render, Schema = "" }, new() { Name = "Test Catalog2", Render = render, Schema = "" } } }; // Act var newSys = _manager.Create(sys); var newCatalogCount = _catalogMan.GetEntities().Count(); var newRenderCount = _renderMan.GetEntities().Count(); // Assert Assert.True(_manager.ProcessResult.Success); Assert.NotNull(newSys); Assert.True(newSys.Id >= 1, "newSubsystem.Id >=1"); Assert.Equal("Test subsystem", newSys.Name); Assert.Equal(oldCatalogCount + 2, newCatalogCount); Assert.Equal(oldRenderCount + 2, newRenderCount); Assert.Equal(2, newSys.NoteCatalogs.Count()); }
public void NoteRender_Must_Has_Valid_NameSpace_Length(int namespaceLen, bool expected) { // Arrange var render = new NoteRender { Name = "Test name", Namespace = GetRandomString(namespaceLen) }; // Act var processResult = new ProcessingResult(); var result = _validator.IsValidEntity(render, processResult); // Assert Assert.Equal(expected, result); if (!expected) { Assert.NotEmpty(processResult.MessageList[0].Message); } }
public NoteCatalogRepositoryTests() { var render = new NoteRender { Name = "TestRender", Namespace = "TestNamespace", Description = "Description" }; _render = RenderRepository.Add(render); var user = new Author { AccountName = "fchy", Description = "Testing User", IsActivated = true, }; _author = AuthorRepository.Add(user); }
public void Cannot_Update_Invalid_Render() { // Arrange var render = new NoteRender { Name = "Test Render", Namespace = "Default NameSpace" }; var savedRender = _manager.Create(render); _testValidator.GetInvalidResult = true; // Act savedRender.Name = "updated test catalog"; var updatedRender = _manager.Update(savedRender); // Assert Assert.False(_manager.ProcessResult.Success); Assert.Null(updatedRender); }
public void Can_Add_NoteRender_To_DataSource() { // Arrange var render = new NoteRender { Name = "GasLog", Namespace = "Note.GasLog", Description = "testing note", IsDefault = true }; // Act var savedRec = RenderRepository.Add(render); // Assert Assert.NotNull(savedRec); Assert.True(savedRec.Id > 0, "savedRec.Id> 0"); Assert.True(render.Id == savedRec.Id, "render.Id == savedRec.Id"); Assert.True(RenderRepository.ProcessMessage.Success); }
public NoteRender Create(NoteRender render) { if (!_validator.IsValidEntity(render, ProcessResult)) { return(null); } try { var addedRender = _dataSource.Add(render); if (addedRender == null) { ProcessResult.PropagandaResult(_dataSource.ProcessMessage); } return(addedRender); } catch (Exception ex) { ProcessResult.WrapException(ex); return(null); } }
public void Can_Update_Render() { // Arrange var render = new NoteRender { Name = "Test Render", Namespace = "Default NameSpace" }; var newRender = _manager.Create(render); var savedRender = _manager.GetEntityById(newRender.Id); Assert.NotNull(savedRender); // Act savedRender.Namespace = "changed NameSpace"; var updatedRender = _manager.Update(savedRender); // Assert Assert.True(_manager.ProcessResult.Success); Assert.NotNull(updatedRender); Assert.Equal("changed NameSpace", updatedRender.Namespace); }
public async Task <NoteRender> UpdateAsync(NoteRender render) { if (!_validator.IsValidEntity(render, ProcessResult)) { return(null); } // make sure the render exists in system var savedRender = await _dataSource.GetEntityAsync(render.Id); if (savedRender == null) { ProcessResult.AddErrorMessage($"Cannot update render: {render.Name}, because system cannot find it in data source"); return(null); } var updatedRender = await _dataSource.UpdateAsync(render); if (updatedRender == null) { ProcessResult.PropagandaResult(_dataSource.ProcessMessage); } return(updatedRender); }