public void PostTest() { using(IDataContext context = new Mocks.MockDataContext()) { var controller = new TemperatureEntryController(context); var device = new Device(); device.Name = "TEst"; context.Devices.Add(device); context.SaveChanges(); var te = new TemperatureEntry(); te.DeviceId = device.Id; te.CreatedDateTime = DateTime.MinValue; te.Humidity = 20; te.Pressure = 22; te.TemperatureCelsius = 0; te.Id = Guid.Empty; controller.Post(te); Assert.AreEqual(1, context.TemperatureEntries.Count()); var first = context.TemperatureEntries.FirstOrDefault(); Assert.IsNotNull(first); Assert.AreNotEqual(Guid.Empty, first.Id); Assert.AreEqual(te.DeviceId, first.DeviceId); Assert.AreEqual(te.CreatedDateTime, first.CreatedDateTime); Assert.AreEqual(te.Humidity, first.Humidity); Assert.AreEqual(te.Pressure, first.Pressure); Assert.AreEqual(te.TemperatureCelsius, first.TemperatureCelsius); var te2 = new TemperatureEntry(); te2.DeviceId = device.Id; te2.CreatedDateTime = DateTime.Now; te2.Humidity = 22; te2.Pressure = 321; te2.TemperatureCelsius = 32; te2.Id = Guid.NewGuid(); controller.Post(te2); Assert.AreEqual(2, context.TemperatureEntries.Count()); var second = context.TemperatureEntries.Skip(1).FirstOrDefault(); Assert.IsNotNull(second); Assert.AreNotEqual(first.Id, second.Id); Assert.AreEqual(te2.Id, second.Id); Assert.AreEqual(te2.DeviceId, second.DeviceId); Assert.AreEqual(te2.CreatedDateTime, second.CreatedDateTime); Assert.AreEqual(te2.Humidity, second.Humidity); Assert.AreEqual(te2.Pressure, second.Pressure); Assert.AreEqual(te2.TemperatureCelsius, second.TemperatureCelsius); } }
public async Task PostTest() { Device d = new Device(); d.Id = 500; d.Name = "Test1"; d.Description = "This is my test Description."; d.DateCreated = DateTime.MinValue; d.DisplayOrder = 50; using (IDataContext context = new MockDataContext()) { using (var controller = new DevicesController(context)) { var result = await controller.Post(d); Assert.IsTrue(result > 0, "Id needs to be greater then 0"); Assert.AreEqual(1, context.Devices.Count(), "Device was not added to the database."); var actual = context.Devices.FirstOrDefault(i => i.Id == result); Assert.AreNotEqual(500, actual.Id, "Device id not generated"); Assert.AreNotEqual(DateTime.MinValue, actual.DateCreated, "Date Created was not generated"); Assert.AreEqual(d.Name, actual.Name, "Name is not the same"); Assert.AreEqual(d.Description, actual.Description, "Description is not the same"); Assert.AreEqual(1, actual.DisplayOrder, "Display Order was not computed correctly"); var d2 = new Device(); d2.Id = 501; d2.Name = "Test2"; d2.Description = "This is my test Description 2"; d2.DateCreated = DateTime.MinValue; d2.DisplayOrder = 1000; result = await controller.Post(d2); Assert.IsTrue(result > 0, "Id needs to be greater then 0"); actual = context.Devices.FirstOrDefault(i => i.Id == result); Assert.AreNotEqual(501, actual.Id, "Device id not generated"); Assert.AreNotEqual(1, actual.Id, "Device id not generated"); Assert.AreNotEqual(DateTime.MinValue, actual.DateCreated, "Date Created was not generated"); Assert.AreEqual(d2.Name, actual.Name, "Name is not the same"); Assert.AreEqual(d2.Description, actual.Description, "Description is not the same"); Assert.AreEqual(2, actual.DisplayOrder, "Display Order was not computed correctly"); } } }
public async Task PutTest() { var device = new Device() { Name = "Device 1", Description = "Device Description", DisplayOrder = 1, DateCreated = DateTime.Now, }; var device2 = new Device() { Name = "Device 2", Description = "Device Description", DisplayOrder = 2, DateCreated = DateTime.Now }; using (IDataContext context = new MockDataContext()) { using (var controller = new DevicesController(context)) { context.Devices.Add(device); context.Devices.Add(device2); await context.SaveChangesAsync(); var newDevice = new Device() { Id = device.Id, Name = "Test Device 1", Description = "Test Description 1", DisplayOrder = 3, DateCreated = DateTime.Now.AddDays(-200) }; await controller.Put(newDevice); var actual = context.Devices.FirstOrDefault(i => i.Id == device.Id); Assert.AreEqual(newDevice.Name, actual.Name, "Name was not updated"); Assert.AreEqual(newDevice.Description, actual.Description, "Description was not updated"); Assert.AreEqual(newDevice.DisplayOrder, actual.DisplayOrder, "Display Order was not updated"); Assert.AreEqual(device.DateCreated, actual.DateCreated, "DateCreated was updated and should not have been"); newDevice = new Device() { Id = device2.Id, Name = "Test Device2", Description = "Test Description 2", DisplayOrder = 1, DateCreated = DateTime.Now.AddDays(-201) }; await controller.Put(newDevice); actual = context.Devices.FirstOrDefault(i => i.Id == device2.Id); Assert.AreEqual(newDevice.Name, actual.Name, "Name was not updated"); Assert.AreEqual(newDevice.Description, actual.Description, "Description was not updated."); Assert.AreEqual(newDevice.DisplayOrder, actual.DisplayOrder, "Display Order was not updated."); Assert.AreEqual(device2.DateCreated, actual.DateCreated, "DateCreated was updated and should not have been"); newDevice = new Device() { Id = 500, Name = "Failed Update", Description = "Failed Update" }; Assert.ThrowsAsync<KeyNotFoundException>(async () => await controller.Put(newDevice)); } } }
public async Task DeleteTest() { using (IDataContext context = new MockDataContext()) { using (var controller = new DevicesController(context)) { var device1 = new Device() { Name = "Device 1", Description = "Desc 1", DisplayOrder = 1, DateCreated = DateTime.Now }; var device2 = new Device() { Name = "Device 2", Description = "Desc 2", DisplayOrder = 2, DateCreated = DateTime.Now }; context.Devices.Add(device1); context.Devices.Add(device2); await context.SaveChangesAsync(); await controller.Delete(device1.Id); Assert.AreEqual(1, context.Devices.Count(), "Item was not deleted"); var actual = context.Devices.FirstOrDefault(); Assert.AreEqual(device2.Name, actual.Name, "Appears the wrong device was deleted"); Assert.ThrowsAsync<KeyNotFoundException>(async () => await controller.Delete(500)); } } }
public async Task GetByIdTest() { using (IDataContext context = new MockDataContext()) { using (var controller = new DevicesController(context)) { var device1 = new Device() { Name = "Device 1", Description = "Desc 1", DisplayOrder = 1, DateCreated = DateTime.Now }; var device2 = new Device() { Name = "Device 2", Description = "Desc 2", DisplayOrder = 2, DateCreated = DateTime.Now }; context.Devices.Add(device1); context.Devices.Add(device2); await context.SaveChangesAsync(); var actual = controller.Get(device1.Id); Assert.IsNotNull(actual); Assert.AreEqual(device1.Name, actual.Name, "Name does not match"); Assert.AreEqual(device1.Description, actual.Description, "Description does not match"); Assert.AreEqual(device1.DisplayOrder, actual.DisplayOrder, "Display Order does not match"); Assert.AreEqual(device1.DateCreated, actual.DateCreated, "DateCreated does not match"); actual = controller.Get(device2.Id); Assert.IsNotNull(actual); Assert.AreEqual(device2.Name, actual.Name, "Name does not match"); Assert.AreEqual(device2.Description, actual.Description, "Description does not match"); Assert.AreEqual(device2.DisplayOrder, actual.DisplayOrder, "Display Order does not match"); Assert.AreEqual(device2.DateCreated, actual.DateCreated, "DateCreated does not match"); } } }