public void UpdateIsCalledWithCorrectParameters() { var state = createCreateState(api, repository); var entity = CreateDirtyEntityWithNegativeId(); var withPositiveId = CreateCleanWithPositiveIdFrom(entity); GetCreateFunction(api)(entity) .Returns(Observable.Return(withPositiveId)); state.Start(entity).SingleAsync().Wait(); repository .Received() .Update(entity.Id, Arg.Is <TModel>(model => model.Id == withPositiveId.Id)); }
public void ReturnsSuccessfulTransitionWhenEverythingWorks() { var state = createCreateState(api, repository); var entity = CreateDirtyEntityWithNegativeId(); var clean = CreateCleanEntityFrom(entity); var withPositiveId = CreateCleanWithPositiveIdFrom(entity); GetCreateFunction(api)(Arg.Any <TModel>()) .Returns(Observable.Return(withPositiveId)); repository.Update(Arg.Any <long>(), Arg.Any <TModel>()) .Returns(x => Observable.Return((TModel)x[1])); var transition = state.Start(entity).SingleAsync().Wait(); var persistedEntity = ((Transition <TModel>)transition).Parameter; transition.Result.Should().Be(state.CreatingFinished); persistedEntity.Id.Should().NotBe(entity.Id); persistedEntity.Id.Should().BeGreaterThan(0); persistedEntity.SyncStatus.Should().Be(SyncStatus.InSync); EntitiesHaveSameImportantProperties(entity, persistedEntity).Should().BeTrue(); }
public static object Create(Type type) { return(GetCreateFunction(type)()); }
public static TClass Create <TClass>() where TClass : class, new() { return(GetCreateFunction(typeof(TClass))() as TClass); }
protected override void PrepareApiCallFunctionToThrow(Exception e) => GetCreateFunction(api)(Arg.Any <TModel>()) .Returns(_ => Observable.Throw <TApiModel>(e));