示例#1
0
        public void Create_HodoorItemNull_ExpectedResult_BadRequestResult()
        {
            using (_stubContext = new FwpsDbContext(_options))
            {
                _stubContext.Database.EnsureCreated();

                _hodoorController = new HodoorController(_stubContext, _hub);

                var result = _hodoorController.Create(null);

                Assert.IsInstanceOf <BadRequestResult>(result);
            }
        }
示例#2
0
        public void Create_CreateItem_NullItem_ExpectedResult_NoHubRequestRecieved()
        {
            using (_context = new FwpsDbContext(_options))
            {
                _context.Database.EnsureCreated();

                _lc = new LightController(_context, _hub);

                _lc.Create(null);

                _hub.Clients.All.DidNotReceive().InvokeAsync(Arg.Any <string>());
            }
        }
示例#3
0
        public void Create_NullItem_ExpectedResult_NoHubRequestReceived()
        {
            using (_stubContext = new FwpsDbContext(_options))
            {
                _stubContext.Database.EnsureCreated();

                _hodoorController = new HodoorController(_stubContext, _hub);

                _hodoorController.Create(_stubHodoorItem1);

                _hub.Clients.All.DidNotReceive().InvokeAsync(Arg.Any <string>());
            }
        }
        public void Create_ValidItemGiven_ExpectedResult_CreatedAtRoute()
        {
            using (_stubContext = new FwpsDbContext(_options))
            {
                _stubContext.Database.EnsureCreated();

                _snapBoxController = new SnapBoxController(_stubContext);

                IActionResult result = _snapBoxController.Create(_stubSnapBoxItem1);

                Assert.IsInstanceOf <CreatedAtRouteResult>(result);
            }
        }
        public void Delete_OneItemDeleted_ExpectedResult_NoContentResult()
        {
            using (_stubContext = new FwpsDbContext(_options))
            {
                _stubContext.Database.EnsureCreated();

                _snapBoxController = new SnapBoxController(_stubContext);

                IActionResult result = _snapBoxController.Delete(1);

                Assert.IsInstanceOf <NoContentResult>(result);
            }
        }
示例#6
0
        public void GetAll_ZeroItemsInContext_ExpectedResult_True()
        {
            using (_stubContext = new FwpsDbContext(_options))
            {
                _stubContext.Database.EnsureCreated();

                _hodoorController = new HodoorController(_stubContext, _hub);

                _hodoorController.Delete(1);

                Assert.That(_hodoorController.GetAll().ToList().Count, Is.EqualTo(_stubContext.HodoorItems.ToList().Count));
            }
        }
        public void Create_BadItem_ExpectedResult_BadRequest()
        {
            using (_stubContext = new FwpsDbContext(_options))
            {
                _stubContext.Database.EnsureCreated();

                _snapBoxController = new SnapBoxController(_stubContext);

                IActionResult result = _snapBoxController.Create(null);

                Assert.IsInstanceOf <BadRequestResult>(result);
            }
        }
示例#8
0
        public LightController(FwpsDbContext context)
        {
            _context = context;

            if (_context.LightItems.Any() == false)
            {
                _context.LightItems.Add(new LightItem()
                {
                    Command = "on", IsRun = false
                });
                _context.SaveChanges();
            }
        }
        public MockSnapBoxController(FwpsDbContext context)
        {
            _context   = context ?? throw new NullReferenceException();
            _observers = new List <IObserver <SnapBoxItem> >();

            if (_context.SnapBoxItems.Any() == false)
            {
                _context.SnapBoxItems.Add(new SnapBoxItem {
                    PowerLevel = "100", MailReceived = false, ReceiverEmail = "*****@*****.**", SnapBoxId = "000"
                });
                _context.SaveChanges();
            }
        }
示例#10
0
        public IpController(FwpsDbContext context)
        {
            _context = context;

            if (_context.IpItems.Any() == false)
            {
                _context.IpItems.Add(new IpItem()
                {
                    Ip = "0.0.0.0"
                });
                _context.SaveChanges();
            }
        }
示例#11
0
        public void GetAll_ThreeLightItems_ExpectedResult_3()
        {
            using (_context = new FwpsDbContext(_options))
            {
                _context.Database.EnsureCreated();
                _lc = new LightController(_context, _hub);
                _lc.Create(_li);
                _lc.Create(_li2);

                var results = _lc.GetAll().ToList();

                Assert.That(results.Count, Is.EqualTo(3));
            }
        }
示例#12
0
        public void GetById_GivenId_ExpectedResult_ObjectResult()
        {
            using (_stubContext = new FwpsDbContext(_options))
            {
                _stubContext.Database.EnsureCreated();

                _snapBoxController = new SnapBoxController(_stubContext);
                _snapBoxController.Create(_stubSnapBoxItem1);

                IActionResult result = _snapBoxController.GetById(2);

                Assert.IsInstanceOf <ObjectResult>(result);
            }
        }
示例#13
0
        public void Create_MailSenderCreatedAndAdded_ExpectedResult_SendSnapBoxMailExecuted_Exception()
        {
            using (_stubContext = new FwpsDbContext(_options))
            {
                _stubContext.Database.EnsureCreated();

                // Has to use a mock controller since a MailSender is created inside the
                // Create() function, and this needed to be stubbed for testing purposes
                var mockController = new MockSnapBoxController(_stubContext);

                Assert.That(() => mockController.Create(_stubSnapBoxItem1),
                            Throws.Exception.TypeOf <SendSnapBoxMailExecutedException>());
            }
        }
示例#14
0
        public SnapBoxController(FwpsDbContext context)
        {
            _context   = context;
            _observers = new List <IObserver <SnapBoxItem> >();

            if (_context.SnapBoxItems.Any() == false)
            {
                _context.SnapBoxItems.Add(new SnapBoxItem()
                {
                    PowerLevel = "100", MailReceived = false, ReceiverEmail = "*****@*****.**"
                });
                _context.SaveChanges();
            }
        }
示例#15
0
        public MockHodoorController(FwpsDbContext context, IHubContext <DevicesHub> hub)
        {
            _hub     = hub ?? throw new NullReferenceException();
            _context = context ?? throw new NullReferenceException();

            if (_context.HodoorItems.Any() == false)
            {
                _context.HodoorItems.Add(new HodoorItem()
                {
                    Command = "CmdUnlock", OpenStatus = false
                });
                _context.SaveChanges();
            }
        }
示例#16
0
        public PoombaController(FwpsDbContext context, IHubContext <DevicesHub> hub)
        {
            _hub     = hub;
            _context = context;

            if (_context.PoombaItems.Any() == false)
            {
                _context.PoombaItems.Add(new PoombaItem()
                {
                    Command = "on", IsRun = false
                });
                _context.SaveChanges();
            }
        }
示例#17
0
        public void Next_NoItems_ExpectedResult_NotFound()
        {
            using (_stubContext = new FwpsDbContext(_options))
            {
                _stubContext.Database.EnsureCreated();
                _hodoorController = new HodoorController(_stubContext, _hub);

                _hodoorController.Delete(1);

                IActionResult result = _hodoorController.Next();

                Assert.IsInstanceOf <NotFoundResult>(result);
            }
        }
示例#18
0
        public void Update_LightItemNull_ExpectedResult_BadRequest()
        {
            using (_context = new FwpsDbContext(_options))
            {
                _context.Database.EnsureCreated();
                _lc = new LightController(_context, _hub);

                LightItem _li3 = null;

                IActionResult result = _lc.Update(4, _li3);

                Assert.IsInstanceOf <BadRequestResult>(result);
            }
        }
示例#19
0
        public void Newest_NoItems_ExpectedResult_NotFound()
        {
            using (_context = new FwpsDbContext(_options))
            {
                _context.Database.EnsureCreated();
                _lc = new LightController(_context, _hub);

                _lc.Delete(1);

                IActionResult result = _lc.Next();

                Assert.IsInstanceOf <NotFoundResult>(result);
            }
        }
示例#20
0
        public void Constructor_CorrectContext_Expectedresult_LightItemAdded()
        {
            using (_context = new FwpsDbContext(_options))
            {
                _context.Database.EnsureCreated();
                _lc = new LightController(_context, _hub);
                const int id = 1;

                var result = _lc.GetById(id) as ObjectResult;
                var model  = result?.Value as LightItem;

                Debug.Assert(model != null, nameof(model) + " != null");
                Assert.That(model.Id, Is.EqualTo(id));
            }
        }
示例#21
0
        public void GetById_DefaultItem_ExpectedResult_CommandCmdUnlock()
        {
            using (_stubContext = new FwpsDbContext(_options))
            {
                _stubContext.Database.EnsureCreated();
                _hodoorController = new HodoorController(_stubContext, _hub);

                const long id = 1;

                var result = _hodoorController.GetById(id) as ObjectResult;
                var model  = result.Value as HodoorItem;

                Assert.That(model.Id, Is.EqualTo(id));
            }
        }
示例#22
0
        public void Create_PowerlevelNull_ExpectedResult_BadRequest()
        {
            using (_stubContext = new FwpsDbContext(_options))
            {
                _stubContext.Database.EnsureCreated();

                _snapBoxController = new SnapBoxController(_stubContext);

                _stubSnapBoxItem1.PowerLevel = null;

                IActionResult result = _snapBoxController.Create(_stubSnapBoxItem1);

                Assert.IsInstanceOf <BadRequestObjectResult>(result, "Powerlevel null");
            }
        }
示例#23
0
        public void GetAll_ThreeItemsCreated_ExpectedResult_Count3()
        {
            using (_stubContext = new FwpsDbContext(_options))
            {
                _stubContext.Database.EnsureCreated();

                _snapBoxController = new SnapBoxController(_stubContext);
                _snapBoxController.Create(_stubSnapBoxItem1);
                _snapBoxController.Create(_stubSnapBoxItem2);

                var lst = _snapBoxController.GetAll();

                Assert.That(lst.ToList().Count, Is.EqualTo(3));
            }
        }
示例#24
0
        public void Create_CreateOneItem_ValidLightItem_ExpectedResult_CountEquals2()
        {
            using (_context = new FwpsDbContext(_options))
            {
                _context.Database.EnsureCreated();

                _lc = new LightController(_context, _hub);

                _lc.Create(_li);

                List <LightItem> list = _context.LightItems.ToList();

                Assert.That(list.Count, Is.EqualTo(2));
            }
        }
示例#25
0
        public void Next_ThreeLightItems_ExpectedResult_FirstItemOnly()
        {
            using (_context = new FwpsDbContext(_options))
            {
                _context.Database.EnsureCreated();
                _lc = new LightController(_context, _hub);
                _lc.Create(_li);
                _lc.Create(_li2);

                var result = _lc.Next() as ObjectResult;
                var model  = result.Value as LightItem;

                Assert.That(model.Command, Is.EqualTo("on"));
                Assert.That(model.Command, Is.EqualTo("on"));
            }
        }
示例#26
0
        public LoginController(FwpsDbContext context)
        {
            _context = context;

            if (_context.LoginItems.Any() == false)
            {
                _context.LoginItems.Add(new LoginItem()
                {
                    Username = "******",
                    Password = "******",
                    RfidId1  = "2bd618fd",
                    RfidId2  = "7e8ceaa4"
                });
                _context.SaveChanges();
            }
        }
示例#27
0
        public void Delete_SeveralDeletionsFromDatabase_ExpectedResult_NoItemsLeft()
        {
            using (_context = new FwpsDbContext(_options))
            {
                _context.Database.EnsureCreated();
                _lc = new LightController(_context, _hub);
                _lc.Create(_li);
                _lc.Create(_li2);

                _lc.Delete(1);
                _lc.Delete(2);
                _lc.Delete(3);

                Assert.That(_lc.GetAll().ToList().Count, Is.EqualTo(0));
            }
        }
示例#28
0
        public void GetAll_ThreeLightItems_ExpectedResult_Command_on_What_What()
        {
            using (_context = new FwpsDbContext(_options))
            {
                _context.Database.EnsureCreated();
                _lc = new LightController(_context, _hub);
                _lc.Create(_li);
                _lc.Create(_li2);

                var results = _lc.GetAll().ToList();

                Assert.That(results[0].Command, Is.EqualTo("on"));
                Assert.That(results[1].Command, Is.EqualTo("What"));
                Assert.That(results[2].Command, Is.EqualTo("When"));
            }
        }
示例#29
0
        public void Constructor_CreatingTwoLightControllers_ExpectedResult_OneLightItemAddedOnly()
        {
            using (_context = new FwpsDbContext(_options))
            {
                _context.Database.EnsureCreated();

                _lc  = new LightController(_context, _hub);
                _lc2 = new LightController(_context, _hub);


                List <LightItem> list = _context.LightItems
                                        .ToList();

                Assert.That(list.Count, Is.EqualTo(1));
            }
        }
示例#30
0
        public void GetById_IdNotExisting_ExpectedResult_NullReferenceException()
        {
            using (_context = new FwpsDbContext(_options))
            {
                _context.Database.EnsureCreated();
                _lc         = new LightController(_context, _hub);
                _li.Command = "FirstItem";
                _lc.Create(_li);

                const long id = 3;

                var result = _lc.GetById(id) as ObjectResult;

                Assert.That(() => result.Value as LightItem, Throws.Exception.TypeOf <NullReferenceException>());
            }
        }