Esempio n. 1
0
        public async Task MapsTheEntityAndAddsIt(string name, int count)
        {
            // Arrange
            AutoMapperConfig.RegisterMappings(typeof(Test).Assembly, typeof(ErrorViewModel).Assembly);
            var repositoryMock = new Mock <IDeletableEntityRepository <Test> >();

            var testData = GetTestData();
            var saved    = false;

            repositoryMock.Setup(x => x.AddAsync(It.IsAny <Test>()))
            .Callback((Test test) =>
            {
                testData.Add(test);
            });

            repositoryMock.Setup(x => x.SaveChangesAsync())
            .Callback(() => { saved = true; });

            var baseSerivce   = new BaseService <Test>(repositoryMock.Object, AutoMapperConfig.MapperInstance);
            var testViewModel = new TestViewModel(name, count);

            // Act
            await baseSerivce.AddAsync(testViewModel);

            // Assert
            var exists = testData.Any(x => x.Name == name && x.Count == count);

            Assert.True(exists);
            Assert.True(saved);
        }
Esempio n. 2
0
        public void ShouldThrowOnWrongTenantCreate()
        {
            // Given

            // When
            Func <Task> action = async() => await _service.AddAsync(_wrongTenantEntity);

            // Then
            var ex = AsyncAssert.ThrowsAsync <UnauthorizedAccessException>(action).Result;
            //Assert.That(ex.InnerExceptions.Any(e => e is UnauthorizedAccessException));
        }
Esempio n. 3
0
        public MainViewModel()
        {
            // should be injected?
            users     = new UserService();
            companies = new CompanyService();

            Companies = new ObservableCollection <CompanyProperty>(companies.AsCompanyProperty());
            Companies.CollectionChanged += CollectionChanged;

            CompanySelectionChanged = new DelegateCommand(() =>
            {
                if (SelectedCompany != null)
                {
                    if (Users != null)
                    {
                        Users.CollectionChanged -= CollectionChanged;
                    }

                    var userProperties = users.AsUserProperty(e => e.CompanyId == SelectedCompany.Id);
                    Users = new ObservableCollection <UserProperty>(userProperties);

                    Users.CollectionChanged += CollectionChanged;
                }
            });

            CompanyEditEnd = new DelegateCommand(async() =>
            {
                if (SelectedCompany.Id == 0)
                {
                    var company        = await companies.AddAsync(SelectedCompany);
                    SelectedCompany.Id = company.Id;
                }
                else
                {
                    await companies.UpdateAsync(SelectedCompany);
                }
            });

            UserEditEnd = new DelegateCommand(async() =>
            {
                if (SelectedUser.Id == 0)
                {
                    User user      = SelectedUser;
                    user.CompanyId = SelectedCompany.Id;
                    await users.AddAsync(user);
                    SelectedUser.Id = user.Id;
                }
                else
                {
                    await users.UpdateAsync(SelectedUser);
                }
            });
        }
Esempio n. 4
0
        public void Create_Should_Check_Access_And_Generate_New_Guid()
        {
            // Given
            _entity.Id = Guid.Empty;

            // When
            _service.AddAsync(_entity).Wait();

            // Then
            _accessChecker.Received().ValidateAccessToEntityAsync(_entity, EntityAction.Create);
            _repository.Received().Add(Arg.Is <TenantOwnedEntity>(e => e.Id != Guid.Empty));
            _repository.Received().SaveChangesAsync();
        }
Esempio n. 5
0
        public async Task ThrowsIfTheInputObjectIsNull()
        {
            // Arrange
            var mapperMock = new Mock <IMapper>();

            var repo        = new Mock <IDeletableEntityRepository <Test> >();
            var baseSerivce = new BaseService <Test>(repo.Object, mapperMock.Object);

            // Assert
            await Assert.ThrowsAsync <ArgumentNullException>(async() =>
            {
                // Act
                await baseSerivce.AddAsync(null);
            });
        }
        public async Task <ActionResult <TResponse> > Post([FromBody] TResponse response)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var ret = await BaseService.AddAsync(Mapper1.Map <TEntity>(response));

            await Uow.CommitAsync();

            var retViewModel = Mapper1.Map <TResponse>(ret);

            return(Ok(retViewModel));
            //return CreatedAtAction(nameof(Get), new {id = retViewModel.Id}, retViewModel);
        }