public void FulfillSyncRequest_ValidRequest_SyncResultBuildCalled() { var syncResult = Mocking.MockAndBind <ISyncResult <TestItem, Guid> >(_container); var replica = new Replica("test"); var syncRequest = Mock.Create <ISyncRequest <Guid> >(); var target = new ReceivingSynchronizer <TestItem, Guid>(_container); var result = target.FulfillSyncRequest(syncRequest); Mock.Assert(() => syncResult.Build(syncRequest), Occurs.Once()); }
public void ReceiveChangedItemsAsRemoteReplica_ChangeToExistingRecord_ChangeIsUpdated() { var testItem = new TestItem(); var repository = Mocking.MockAndBind <IRepository <TestItem, Guid> >(_container); Mock.Arrange(() => repository.Find(testItem.Id)).Returns(testItem); var changes = new List <TestItem> { testItem }; var target = new ReceivingSynchronizer <TestItem, Guid>(_container); target.ReceiveChangedItemsAsRemoteReplica(changes); Mock.Assert(() => repository.Update(testItem), Occurs.Once()); }
public void ReceiveChangedItemsAsRemoteReplica_ChangesExist_ChangesAreSaved() { var testItem = new TestItem(); TestItem nullTestItem = null; var repository = Mocking.MockAndBind <IRepository <TestItem, Guid> >(_container); // ReSharper disable once ExpressionIsAlwaysNull Mock.Arrange(() => repository.Find(testItem.Id)).Returns(nullTestItem); var changes = new List <TestItem> { testItem }; var target = new ReceivingSynchronizer <TestItem, Guid>(_container); target.ReceiveChangedItemsAsRemoteReplica(changes); Mock.Assert(() => repository.Insert(testItem), Occurs.Once()); }
public TestSyncRequestSender(ReceivingSynchronizer <TItem, TId> receiver) { _receiver = receiver; }