public async Task ShouldGetTenantSettings()
        {
            var tenantId       = Guid.NewGuid();
            var tenantSettings = new TenantSettings()
            {
                TenantId = tenantId,
            };

            var expected = new TenantSettingsDTO();

            var tenantSettingsList = new List <TenantSettings>()
            {
                tenantSettings,
                new TenantSettings()
                {
                    TenantId = Guid.NewGuid(),
                }
            };

            _mock.Mock <IInventContext>()
            .Setup(context => context.TenantSettings)
            .ReturnsAsDbSet(tenantSettingsList);

            var actual = await _service.GetByTenantIdAsync(tenantId);

            ContentAssert.AreEqual(expected, actual);
        }
        public async Task ShouldUpdateTenantSettings()
        {
            var tenantId       = Guid.NewGuid();
            var tenantSettings = new TenantSettings()
            {
                TenantId = tenantId
            };

            var expected = new TenantSettingsDTO();

            var tenantSettingsDTO = new TenantSettingsDTO();

            var tenantSettingsList = new List <TenantSettings>()
            {
                tenantSettings,
                new TenantSettings()
                {
                    TenantId = Guid.NewGuid(),
                }
            };

            _mock.Mock <IInventContext>()
            .Setup(context => context.TenantSettings)
            .ReturnsAsDbSet(tenantSettingsList);

            _mock.Mock <IMapper>()
            .Setup(mapper => mapper.Map(tenantSettingsDTO, tenantSettings))
            .Returns(tenantSettings);

            _mock.Mock <IMapper>()
            .Setup(mapper => mapper.Map <TenantSettingsDTO>(tenantSettings))
            .Returns(expected);

            var actual = await _service.UpdateAsync(tenantSettingsDTO, tenantId);

            _mock.Mock <IInventContext>()
            .Verify(context => context.Update(tenantSettings));

            _mock.Mock <IInventContext>()
            .Verify(context => context.SaveChangesAsync(default(CancellationToken)));

            ContentAssert.AreEqual(expected, actual);
        }
        public async Task ShouldReturnTenantSettings()
        {
            Guid tenantId = Guid.NewGuid();

            var expected = new TenantSettingsDTO();

            var controller = _mock.Create <TenantSettingsController>();

            _mock.Mock <ICurrentTenantProvider>()
            .Setup(manager => manager.GetTenantIdAsync(controller.User))
            .ReturnsAsync(tenantId);

            _mock.Mock <ITenantSettingsService>()
            .Setup(service => service.GetByTenantIdAsync(tenantId))
            .ReturnsAsync(expected);

            var actual = await controller.Get();

            ContentAssert.AreEqual(expected, actual);
        }
示例#4
0
        public async Task <TenantSettingsDTO> UpdateAsync(TenantSettingsDTO tenantSettingsDTO, Guid tenantId)
        {
            using (var context = _contextFactory())
            {
                var tenantSettings = await context.TenantSettings
                                     .SingleOrDefaultAsync(e => e.TenantId == tenantId);

                if (tenantSettings == null)
                {
                    tenantSettings          = _mapper.Map <TenantSettings>(tenantSettingsDTO);
                    tenantSettings.TenantId = tenantId;
                    context.TenantSettings.Add(tenantSettings);
                }
                else
                {
                    tenantSettings = _mapper.Map(tenantSettingsDTO, tenantSettings);
                    context.Update(tenantSettings);
                }

                await context.SaveChangesAsync();

                return(_mapper.Map <TenantSettingsDTO>(tenantSettings));
            }
        }
示例#5
0
        public async Task <TenantSettingsDTO> Update([FromBody] TenantSettingsDTO tenantSettings)
        {
            var tenantId = await _currentTenantProvider.GetTenantIdAsync(User);

            return(await _tenantSettingsService.UpdateAsync(tenantSettings, tenantId));
        }