public void InsertOrUpdate_Saves_A_NewObjectWrapper_Via_Context() { var wrapperParent = this.GetDummyData(); wrapperParent.ObjectWrapperId = 0; var mockWrapperSet = this.GetMockSet <MyObjectWrapper>(new List <MyObjectWrapper>()); var mockContext = this.BuildMockContext(mockWrapperSet); var dbSaverService = new DbSaver(this.mockedLogger.Object, mockContext.Object); var createdWrapper = dbSaverService.InsertOrUpdate(wrapperParent); Assert.IsNotNull(mockWrapperSet); Assert.IsTrue(createdWrapper.Name == wrapperParent.Name); Assert.IsTrue(createdWrapper.ObjectAsByte == wrapperParent.ObjectAsByte); Assert.IsTrue(createdWrapper.Items.Count() == 2); mockWrapperSet.Verify(set => set.Add(It.IsAny <MyObjectWrapper>()), Times.Once); mockWrapperSet.Verify(set => set.Include(It.IsAny <string>()), Times.Never); mockContext.Verify(context => context.SaveChanges(), Times.Once); }
public void InsertOrUpdate_Updates_RemoveOneItem_ExistingObjectWrapper_Via_Context() { var wrapperToUpdate = this.GetDummyData(); wrapperToUpdate.Items.First().MyObjectWrapper = null; var beforeUpdateWrapper = this.GetDummyData(); var mockWrapperSet = this.GetMockSet <MyObjectWrapper>(new List <MyObjectWrapper> { beforeUpdateWrapper }); var mockContext = this.BuildMockContext(mockWrapperSet); var dbSaverService = new DbSaver(this.mockedLogger.Object, mockContext.Object); var updatedWrapper = dbSaverService.InsertOrUpdate(wrapperToUpdate); Assert.IsNotNull(mockWrapperSet); Assert.IsTrue(updatedWrapper.Name == wrapperToUpdate.Name); Assert.IsTrue(updatedWrapper.ObjectAsByte == wrapperToUpdate.ObjectAsByte); Assert.IsTrue(updatedWrapper.Items.Count() == 1); mockWrapperSet.Verify(set => set.Add(It.IsAny <MyObjectWrapper>()), Times.Never); mockWrapperSet.Verify(set => set.Include(It.IsAny <string>()), Times.Once); mockContext.Verify(context => context.SaveChanges(), Times.Once); }
public void InsertOrUpdate_Updates_AllPropsChanged_NewItems_ExistingObjectWrapper_Via_Context() { var wrapperToUpdate = this.GetDummyData(); wrapperToUpdate.Items.First().MyCollectionItemId = default(int); wrapperToUpdate.Items.Last().MyCollectionItemId = default(int); var beforeUpdateWrapper = this.GetDummyData(); beforeUpdateWrapper.Name = "Third"; beforeUpdateWrapper.ObjectAsByte = ObjectToSmthgConverter.ObjectToByteArray(new SerializableObject { Description = @"1hehf(%&#U)JJF", Id = 123123, Name = @"132312#$%@%213312", Price = 23333, Value = 17777, }); var mockWrapperSet = this.GetMockSet <MyObjectWrapper>(new List <MyObjectWrapper> { beforeUpdateWrapper }); var mockContext = this.BuildMockContext(mockWrapperSet); var dbSaverService = new DbSaver(this.mockedLogger.Object, mockContext.Object); var updatedWrapper = dbSaverService.InsertOrUpdate(wrapperToUpdate); Assert.IsNotNull(mockWrapperSet); Assert.IsTrue(updatedWrapper.Name == wrapperToUpdate.Name); Assert.IsTrue(updatedWrapper.ObjectAsByte == wrapperToUpdate.ObjectAsByte); Assert.IsTrue(updatedWrapper.Items.Count() == 4); mockWrapperSet.Verify(set => set.Add(It.IsAny <MyObjectWrapper>()), Times.Never); mockWrapperSet.Verify(set => set.Include(It.IsAny <string>()), Times.Once); mockContext.Verify(context => context.SaveChanges(), Times.Once); }