Ejemplo n.º 1
0
        public async Task RegisterNewDeviceSettingTest()
        {
            //Arrange
            var dbConnection = new UnitTestDbConnection();

            Database.SetInitializer(new CreateFreshDbInitializer());
            var adapterBuilder = new AdapterSettingBuilder(dbConnection, CancellationToken.None);
            var deviceSetting  = new DeviceSetting
            {
                Name      = "Device Setting 1",
                ValueType = DataType.STRING,
                Value     = "Hello World"
            };

            //act
            var result = await adapterBuilder.RegisterDeviceSettingAsync(deviceSetting);

            DeviceSetting setting;

            using (var context = new ZvsContext(dbConnection))
            {
                setting = await context.DeviceSettings.FirstOrDefaultAsync();
            }

            //assert
            Console.WriteLine(result.Message);
            Assert.IsFalse(result.HasError);
            Assert.IsNotNull(setting, "Setting not saved!");
            Assert.IsTrue(setting.Name == deviceSetting.Name, "Device setting name mismatch");
        }
Ejemplo n.º 2
0
        public async Task RegisterRemovedDeviceSettingOptionTest()
        {
            //Arrange
            var dbConnection = new UnitTestDbConnection();

            Database.SetInitializer(new CreateFreshDbInitializer());

            var adapterBuilder = new AdapterSettingBuilder(dbConnection, CancellationToken.None);
            var deviceSetting  = new DeviceSetting
            {
                Name      = "Device Setting 1",
                ValueType = DataType.STRING,
                Value     = "Hello World"
            };
            var option1 = new DeviceSettingOption
            {
                Name = "Option 1",
            };
            var option2 = new DeviceSettingOption
            {
                Name = "Option 2",
            };

            deviceSetting.Options.Add(option1);
            deviceSetting.Options.Add(option2);
            using (var context = new ZvsContext(dbConnection))
            {
                context.DeviceSettings.Add(deviceSetting);
                await context.SaveChangesAsync();
            }

            deviceSetting.Options.Remove(option2);

            //act
            var result = await adapterBuilder.RegisterDeviceSettingAsync(deviceSetting);

            DeviceSetting setting;

            using (var context = new ZvsContext(dbConnection))
            {
                setting = await context.DeviceSettings
                          .Include(o => o.Options)
                          .FirstOrDefaultAsync();
            }

            //assert
            Console.WriteLine(result.Message);
            Assert.IsFalse(result.HasError);
            Assert.IsNotNull(setting, "Setting not found");
            Assert.IsTrue(setting.Options.Count == 1, "Expected 2 options");
            Assert.IsTrue(setting.Options[0].Name == option1.Name, "Name mismatch");
        }
        public async Task RegisterRemovedDeviceSettingOptionTest()
        {
            //Arrange 
            var dbConnection = new StubIEntityContextConnection { NameOrConnectionStringGet = () => "asb-RegisterRemovedDeviceSettingOptionTest" };
            Database.SetInitializer(new CreateFreshDbInitializer());

            var adapterBuilder = new AdapterSettingBuilder(dbConnection, CancellationToken.None);
            var deviceSetting = new DeviceSetting
            {
                Name = "Device Setting 1",
                ValueType = DataType.STRING,
                Value = "Hello World"
            };
            var option1 = new DeviceSettingOption
            {
                Name = "Option 1",
            };
            var option2 = new DeviceSettingOption
            {
                Name = "Option 2",
            };
            deviceSetting.Options.Add(option1);
            deviceSetting.Options.Add(option2);
            using (var context = new ZvsContext(dbConnection))
            {
                context.DeviceSettings.Add(deviceSetting);
                await context.SaveChangesAsync();
            }

            deviceSetting.Options.Remove(option2);

            //act
            var result = await adapterBuilder.RegisterDeviceSettingAsync(deviceSetting);

            DeviceSetting setting;
            using (var context = new ZvsContext(dbConnection))
            {
                setting = await context.DeviceSettings
                    .Include(o => o.Options)
                    .FirstOrDefaultAsync();
            }

            //assert 
            Console.WriteLine(result.Message);
            Assert.IsFalse(result.HasError);
            Assert.IsNotNull(setting, "Setting not found");
            Assert.IsTrue(setting.Options.Count == 1, "Expected 2 options");
            Assert.IsTrue(setting.Options[0].Name == option1.Name, "Name mismatch");
        }
        public async Task RegisterNoUpdateDeviceSettingTest()
        {
            //Arrange 
            var dbConnection = new StubIEntityContextConnection { NameOrConnectionStringGet = () => "asb-RegisterNoUpdateDeviceSettingTest" };
            Database.SetInitializer(new CreateFreshDbInitializer());

            var adapterBuilder = new AdapterSettingBuilder(dbConnection, CancellationToken.None);
            var deviceSetting = new DeviceSetting
            {
                Name = "Device Setting 1",
                ValueType = DataType.STRING,
                Value = "Hello World"
            };

            using (var context = new ZvsContext(dbConnection))
            {
                context.DeviceSettings.Add(deviceSetting);
                await context.SaveChangesAsync();
            }

            //act
            var result = await adapterBuilder.RegisterDeviceSettingAsync(deviceSetting);

            DeviceSetting setting;
            using (var context = new ZvsContext(dbConnection))
            {
                setting = await context.DeviceSettings.FirstOrDefaultAsync();
            }

            //assert 
            Console.WriteLine(result.Message);
            Assert.IsFalse(result.HasError);
            Assert.IsNotNull(setting, "Setting not found");
            Assert.IsTrue(setting.Value == deviceSetting.Value, "Device setting name mismatch");
        }
        public async Task RegisterNewDeviceSettingTest()
        {
            //Arrange 
            var dbConnection = new UnitTestDbConnection();
            Database.SetInitializer(new CreateFreshDbInitializer());
            var adapterBuilder = new AdapterSettingBuilder( dbConnection, CancellationToken.None);
            var deviceSetting = new DeviceSetting
            {
                Name = "Device Setting 1",
                ValueType = DataType.STRING,
                Value = "Hello World"
            };

            //act
            var result = await adapterBuilder.RegisterDeviceSettingAsync(deviceSetting);

            DeviceSetting setting;
            using (var context = new ZvsContext(dbConnection))
            {
                setting = await context.DeviceSettings.FirstOrDefaultAsync();
            }

            //assert 
            Console.WriteLine(result.Message);
            Assert.IsFalse(result.HasError);
            Assert.IsNotNull(setting, "Setting not saved!");
            Assert.IsTrue(setting.Name == deviceSetting.Name, "Device setting name mismatch");
        }