Ejemplo n.º 1
0
            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));
            }
Ejemplo n.º 2
0
            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);
 }
Ejemplo n.º 5
0
 protected override void PrepareApiCallFunctionToThrow(Exception e)
 => GetCreateFunction(api)(Arg.Any <TModel>())
 .Returns(_ => Observable.Throw <TApiModel>(e));