public void GetADealViewModelReturnsNotFound()
        {
            ///////////////////Arrange///////////////////

            var mockGenRepository  = new Mock <IGenericRepository>();
            var mockDealRepository = new Mock <IDealRepository>();

            mockDealRepository.Setup(x => x.getDealViewModel(7)).Returns(new DealViewModel
            {
                Deal = new Deal
                {
                    Id = 7
                }
            });
            var controller = new DealsController(mockGenRepository.Object, mockDealRepository.Object);


            ///////////////////Act///////////////////

            //Should Pass Test
            IHttpActionResult actionResult = controller.GetADealOwned(10);

            //Should Fail Test
            //IHttpActionResult actionResult = controller.GetADealViewModel(7);

            var contentResult = actionResult as OkNegotiatedContentResult <Deal>;

            ///////////////////Assert///////////////////

            Assert.IsInstanceOfType(actionResult, typeof(UnauthorizedResult));
        }
        public void DeleteDealReturnsOk()
        {
            ///////////////////Arrange///////////////////

            var mockGenRepository = new Mock <IGenericRepository>();

            mockGenRepository.Setup(x => x.Add <Deal>(new Deal
            {
                Id = 7
            }
                                                      ));

            var mockDealRepository = new Mock <IDealRepository>();

            var controller = new DealsController(mockGenRepository.Object, mockDealRepository.Object);

            ///////////////////Act///////////////////

            //Should Pass Test
            IHttpActionResult actionResult = controller.DeleteDeal(7);

            //No should fail test. Delete deal will return Ok() even if

            // Assert
            Assert.IsInstanceOfType(actionResult, typeof(UnauthorizedResult));
            //Not logged in
        }
Exemple #3
0
        public async void Deals_Returns_DealsList()
        {
            //Arrange
            var deals = new List <Deal>();

            deals.Add(new Deal()
            {
                Id          = 1,
                Title       = "New Deal",
                Description = "New Deal",
                Highlight   = "New Deal"
            });
            var repo = new Mock <IGenericRepository <Deal> >();

            repo.Setup(x => x.GetAll()).Returns(Task.FromResult <IEnumerable <Deal> >(deals));
            //repo.Verify();
            var             logger            = new Mock <ILogger <DealsController> >();
            DealsController controller        = new DealsController(logger.Object, repo.Object);
            int             expectedCount     = 1;
            String          expectedDealTitle = "New Deal";
            //Act
            ViewResult result          = (ViewResult)(await controller.Deals());
            int        actualCount     = ((List <Deal>)result.Model).Count;
            String     actualDealTitle = ((List <Deal>)result.Model)[0].Title;


            //Assert
            Assert.Equal(expectedCount, actualCount);
            Assert.Equal(expectedDealTitle, actualDealTitle);
        }
        public void GetDealsReturnsAListOfDeals()
        {
            ///////////////////Arrange///////////////////

            var mockGenRepository  = new Mock <IGenericRepository>();
            var mockDealRepository = new Mock <IDealRepository>();

            mockDealRepository.Setup(x => x.getAllDealViewModels("jhsdf98sdhi89")).Returns(new DealViewModel
            {
                DealList = new List <Deal>
                {
                    new Deal
                    {
                        Id         = 7,
                        DealName   = "Test Deal",
                        Amount     = 500000m,
                        Stage      = "Qualified to Buy",
                        CloseDate  = new DateTime(2015, 4, 27),
                        isArchived = false
                    },
                    new Deal
                    {
                        Id         = 8,
                        DealName   = "Test Deal Change 1",
                        Amount     = 600000m,
                        Stage      = "Presentation Scheduled",
                        CloseDate  = new DateTime(2015, 3, 24),
                        isArchived = true
                    },
                    new Deal
                    {
                        Id         = 9,
                        DealName   = "Test Deal Change 2",
                        Amount     = 700000m,
                        Stage      = "Decision Maker Bought In",
                        CloseDate  = new DateTime(2015, 5, 27),
                        isArchived = false
                    }
                }
            });



            var controller = new DealsController(mockGenRepository.Object, mockDealRepository.Object);

            ///////////////////Act///////////////////

            //Should Pass Test
            IHttpActionResult actionResult = controller.GetDealsOwned();

            var contentResult = actionResult as OkNegotiatedContentResult <List <Deal> >;

            Assert.IsInstanceOfType(actionResult, typeof(UnauthorizedResult));

            //Assert.IsNotNull(contentResult);
            //Assert.IsNotNull(contentResult.Content);
            //Assert.AreEqual(3, contentResult.Content.Count);
            //Assert.AreEqual("Test Deal Change 1", contentResult.Content.Find(d => d.Id == 8).DealName);
        }
        public void Check_Database_Is_Not_Empty()
        {
            // Arrange
            DealsController dc = new DealsController();

            // Act
            // Assert
            Assert.IsNotEmpty(dc.Get());
        }
        public void PostDealEditsCorrectInfoWhenEditingDeal()
        {
            ///////////////////Arrange///////////////////

            var mockGenRepository = new Mock <IGenericRepository>();

            mockGenRepository.Setup(x => x.Find <Deal>(7)).Returns(new Deal
            {
                Id         = 7,
                DealName   = "Test Deal",
                Amount     = 500000m,
                Stage      = "Qualified to Buy",
                CloseDate  = new DateTime(2015, 4, 27),
                isArchived = false
            });

            var mockDealRepository = new Mock <IDealRepository>();

            var controller = new DealsController(mockGenRepository.Object, mockDealRepository.Object);

            ///////////////////Act///////////////////

            //Should Pass Test
            IHttpActionResult actionResult = controller.PostDeal(new Deal
            {
                Id         = 7,
                DealName   = "Test Deal Change",
                Amount     = 600000m,
                Stage      = "Presentation Scheduled",
                CloseDate  = new DateTime(2015, 3, 24),
                isArchived = true
            });

            var contentResult = actionResult as OkNegotiatedContentResult <Deal>;

            // Assert
            Assert.IsInstanceOfType(actionResult, typeof(UnauthorizedResult));
            //Assert.IsNotNull(contentResult);
            //Assert.IsNotNull(contentResult.Content);
            //Assert.AreEqual(7, contentResult.Content.Id);
            //Assert.AreEqual("Test Deal Change", contentResult.Content.DealName);
            //Assert.AreEqual(600000m, contentResult.Content.Amount);
            //Assert.AreEqual("Presentation Scheduled", contentResult.Content.Stage);
            //Assert.AreEqual(new DateTime(2015, 3, 24), contentResult.Content.CloseDate);
            //Assert.AreEqual(true, contentResult.Content.isArchived);

            //Failed test with unchanged results
            //Assert.AreEqual("Test Deal", contentResult.Content.DealName);
            //Assert.AreEqual(500000m, contentResult.Content.Amount);
            //Assert.AreEqual("Qualified to Buy", contentResult.Content.Stage);
            //Assert.AreEqual(new DateTime(2015, 4, 27), contentResult.Content.CloseDate);
            //Assert.AreEqual(false, contentResult.Content.isArchived);
        }
        public void Check_Get_Is_Returning_Correct_Number_Of_Deals()
        {
            // Arrange
            DealsController dc      = new DealsController();
            DealsDBContext  context = new DealsDBContext();
            // Act
            var databaseLength  = context.Deals.Count();
            var getReturnLength = dc.Get();

            // Assert
            Assert.IsTrue(databaseLength == getReturnLength.Count());
        }
Exemple #8
0
        public void GetAllDeals_ShouldReturnDeals()
        {
            var dealsTestData = new List <DealViewDTO>()
            {
                new DealViewDTO {
                    Id = Guid.NewGuid()
                },
                new DealViewDTO {
                    Id = Guid.NewGuid()
                },
                new DealViewDTO {
                    Id = Guid.NewGuid()
                }
            };
            var cars = MockHelper.MockDbSet(dealsTestData);

            var dbContext = new Mock <IAppDbContext>();

            dbContext.Setup(d => d.ExecuteStoredProcedure <DealViewDTO>(It.IsAny <string>(), It.IsAny <object[]>()))
            .Returns <string, object[]>((query, parameters) =>
            {
                List <DealViewDTO> list = new List <DealViewDTO>();
                if (query.Contains("DealsFilter"))
                {
                    list.Add(new DealViewDTO {
                        Id = Guid.NewGuid()
                    });
                    list.Add(new DealViewDTO {
                        Id = Guid.NewGuid()
                    });
                    list.Add(new DealViewDTO {
                        Id = Guid.NewGuid()
                    });
                }
                else
                {
                    list.Add(new DealViewDTO {
                        Id = Guid.NewGuid()
                    });
                }
                return(list);
            });

            var factory = new Mock <IDbContextFactory>();

            factory.Setup(m => m.CreateDbContext()).Returns(dbContext.Object);
            var controller = new DealsController(factory.Object);

            var result = controller.GetDeals(1, DateTime.Now, DateTime.Now) as OkNegotiatedContentResult <IEnumerable <DealViewDTO> >;

            Assert.IsNotNull(result);
            Assert.AreEqual(3, result.Content.Count());
        }
Exemple #9
0
        public Session(TcpClient client)
        {
            Client = client ?? throw new ArgumentNullException(nameof(client), "Null client.");

            _BinaryFormatter = new BinaryFormatter();
            _NetworkStream   = client.GetStream();

            UserController       = new UserController(this);
            AutodealerController = new AutodealerController(this);
            CarController        = new CarController(this);
            DealsController      = new DealsController(this);
            StatisticsController = new StatisticsController(this);
        }
Exemple #10
0
        public async void Deals_Returns_DealsView()
        {
            //Arrange
            var             repo             = new Mock <IGenericRepository <Deal> >();
            var             logger           = new Mock <ILogger <DealsController> >();
            DealsController controller       = new DealsController(logger.Object, repo.Object);
            string          expectedViewName = "Deals";

            //Act
            ViewResult result         = (ViewResult)(await controller.Deals());
            string     actualViewName = result.ViewName;

            //Assert
            Assert.Equal(expectedViewName, actualViewName);
        }
Exemple #11
0
        public async void Deals_Returns_EmptyModel()
        {
            //Arrange
            var             repo          = new Mock <IGenericRepository <Deal> >();
            var             logger        = new Mock <ILogger <DealsController> >();
            DealsController controller    = new DealsController(logger.Object, repo.Object);
            int             expectedCount = 0;

            //Act
            ViewResult result      = (ViewResult)(await controller.Deals());
            int        actualCount = ((List <Deal>)result.Model).Count;


            //Assert
            Assert.Equal(expectedCount, actualCount);
        }
        public void GetADealViewModelReturnsDealWithSameId()
        {
            ///////////////////Arrange///////////////////

            var mockGenRepository  = new Mock <IGenericRepository>();
            var mockDealRepository = new Mock <IDealRepository>();

            mockDealRepository.Setup(x => x.getDealViewModel(7)).Returns(new DealViewModel
            {
                Deal = new Deal
                {
                    Id         = 7,
                    DealName   = "Test Deal",
                    Amount     = 500000m,
                    Stage      = "Qualified to Buy",
                    CloseDate  = new DateTime(2015, 4, 27),
                    isArchived = false
                }
            });
            var controller = new DealsController(mockGenRepository.Object, mockDealRepository.Object);


            ///////////////////Act///////////////////

            //Should Pass Test
            IHttpActionResult actionResult = controller.GetADealOwned(7);

            //Should Fail Test
            //IHttpActionResult actionResult = controller.GetADealViewModel(10);

            var contentResult = actionResult as OkNegotiatedContentResult <Deal>;

            ///////////////////Assert///////////////////

            Assert.IsInstanceOfType(actionResult, typeof(UnauthorizedResult));

            //Assert.IsNotNull(contentResult);
            //Assert.IsNotNull(contentResult.Content);
            //Assert.AreEqual(7, contentResult.Content.Id);
        }
        public void PostDealSavesCorrectInfoWhenAddingNewDeal()
        {
            ///////////////////Arrange///////////////////

            var mockGenRepository = new Mock <IGenericRepository>();

            var mockDealRepository = new Mock <IDealRepository>();

            var controller = new DealsController(mockGenRepository.Object, mockDealRepository.Object);

            ///////////////////Act///////////////////

            //Should Pass Test
            IHttpActionResult actionResult = controller.PostDeal(new Deal
            {
                Id         = 0,
                DealName   = "Test Deal",
                Amount     = 500000m,
                Stage      = "Qualified to Buy",
                CloseDate  = new DateTime(2015, 4, 27),
                isArchived = false
            });

            var contentResult = actionResult as OkNegotiatedContentResult <Deal>;

            // Assert
            Assert.IsInstanceOfType(actionResult, typeof(UnauthorizedResult));
            //Assert.IsNotNull(contentResult);
            //Assert.IsNotNull(contentResult.Content);
            //Assert.AreEqual(0, contentResult.Content.Id);
            //Assert.AreEqual("Test Deal", contentResult.Content.DealName);
            //Assert.AreEqual(500000m, contentResult.Content.Amount);
            //Assert.AreEqual("Qualified to Buy", contentResult.Content.Stage);
            //Assert.AreEqual(new DateTime(2015, 4, 27), contentResult.Content.CloseDate);
            //Assert.AreEqual(false, contentResult.Content.isArchived);
        }
Exemple #14
0
        public void GetOneDeal_ShouldReturnDeal()
        {
            Guid dealId    = Guid.NewGuid();
            var  dbContext = new Mock <IAppDbContext>();

            dbContext.Setup(d => d.ExecuteStoredProcedure <DealFullViewDTO>(It.IsAny <string>(), It.IsAny <object[]>()))
            .Returns <string, object[]>((query, parameters) =>
            {
                List <DealFullViewDTO> list = new List <DealFullViewDTO>();
                if (query.Contains("DealInfo"))
                {
                    list.Add(new DealFullViewDTO {
                        Id = dealId
                    });
                }
                else
                {
                    list.Add(new DealFullViewDTO {
                        Id = Guid.NewGuid()
                    });
                }
                return(list);
            });

            dbContext.Setup(d => d.ExecuteStoredProcedure <DealContainerViewDTO>(It.IsAny <string>(), It.IsAny <object[]>()))
            .Returns <string, object[]>((query, parameters) =>
            {
                List <DealContainerViewDTO> list = new List <DealContainerViewDTO>();
                if (query.Contains("DealContainersList"))
                {
                    list.Add(new DealContainerViewDTO {
                        Id = Guid.NewGuid(), DealId = dealId
                    });
                }
                else
                {
                    list.Add(new DealContainerViewDTO {
                        Id = Guid.NewGuid()
                    });
                }
                return(list);
            });

            dbContext.Setup(d => d.ExecuteStoredProcedure <DealInvoiceViewDTO>(It.IsAny <string>(), It.IsAny <object[]>()))
            .Returns <string, object[]>((query, parameters) =>
            {
                List <DealInvoiceViewDTO> list = new List <DealInvoiceViewDTO>();
                if (query.Contains("DealInvoicesList"))
                {
                    list.Add(new DealInvoiceViewDTO {
                        Id = 1, DealId = dealId
                    });
                }
                else
                {
                    list.Add(new DealInvoiceViewDTO {
                        Id = 22
                    });
                }
                return(list);
            });

            dbContext.Setup(d => d.ExecuteStoredProcedure <DocumentScanDTO>(It.IsAny <string>(), It.IsAny <object[]>()))
            .Returns <string, object[]>((query, parameters) =>
            {
                List <DocumentScanDTO> list = new List <DocumentScanDTO>();
                if (query.Contains("GetDocumentScanByDeal"))
                {
                    list.Add(new DocumentScanDTO {
                        Id = Guid.NewGuid()
                    });
                }
                else
                {
                    list.Add(new DocumentScanDTO {
                        Id = Guid.NewGuid()
                    });
                }
                return(list);
            });

            dbContext.Setup(d => d.ExecuteStoredProcedure <DocumentScanTypeDTO>(It.IsAny <string>(), It.IsAny <object[]>()))
            .Returns <string, object[]>((query, parameters) =>
            {
                List <DocumentScanTypeDTO> list = new List <DocumentScanTypeDTO>();
                if (query.Contains("GetDocumentScanTypes"))
                {
                    list.Add(new DocumentScanTypeDTO {
                        Id = 1
                    });
                }
                else
                {
                    list.Add(new DocumentScanTypeDTO {
                        Id = 2
                    });
                }
                return(list);
            });

            var factory = new Mock <IDbContextFactory>();

            factory.Setup(m => m.CreateDbContext()).Returns(dbContext.Object);
            var controller = new DealsController(factory.Object);

            var result = controller.GetDealView(dealId.ToString()) as OkNegotiatedContentResult <DealFullViewDTO>;

            Assert.IsNotNull(result);
            Assert.AreEqual(dealId, result.Content.Id);
        }
Exemple #15
0
        public void Main()
        {
            try
            {
                while (true)
                {
                    var messageType = (MessageType)_BinaryFormatter.Deserialize(_NetworkStream);

                    if (messageType == MessageType.Action)
                    {
                        var actionType = (ActionType)_BinaryFormatter.Deserialize(_NetworkStream);

                        switch (actionType)
                        {
                        case ActionType.Authorize:
                            UserController.Authorize();
                            break;

                        case ActionType.Register:
                            UserController.Register();
                            break;

                        case ActionType.GetAutodealers:
                            AutodealerController.GetAutodealers();
                            break;

                        case ActionType.SetCurrentAutodealer:
                            AutodealerController.SetCurrentAutodealer();
                            break;

                        case ActionType.GetCars:
                            CarController.GetCars();
                            break;

                        case ActionType.GetCurrentUser:
                            UserController.GetCurrentUser();
                            break;

                        case ActionType.GetCurrentAutodealer:
                            AutodealerController.GetCurrentAutodealer();
                            break;

                        case ActionType.AddCar:
                            CarController.Add();
                            break;

                        case ActionType.DeleteCar:
                            CarController.Delete();
                            break;

                        case ActionType.EditCar:
                            CarController.Edit();
                            break;

                        case ActionType.SetCarFilter:
                            CarController.SetCarFilter();
                            break;

                        case ActionType.ResetCarFilter:
                            CarController.ResetCarFilter();
                            break;

                        case ActionType.GetUsers:
                            UserController.GetUsers();
                            break;

                        case ActionType.AddUser:
                            UserController.Add();
                            break;

                        case ActionType.BanUnbanUser:
                            UserController.BanUnbanUser();
                            break;

                        case ActionType.DeleteUser:
                            UserController.Delete();
                            break;

                        case ActionType.SetUserSearchData:
                            UserController.SetUserSearchData();
                            break;

                        case ActionType.EditUser:
                            UserController.Edit();
                            break;

                        case ActionType.GetDeals:
                            DealsController.GetDeals();
                            break;

                        case ActionType.ConfirmDeal:
                            DealsController.ConfirmDeal();
                            break;

                        case ActionType.DeleteDeal:
                            DealsController.Delete();
                            break;

                        case ActionType.AddDeal:
                            DealsController.Add();
                            break;

                        case ActionType.EditDeal:
                            DealsController.Edit();
                            break;

                        case ActionType.SetDealSearchData:
                            DealsController.SetDealSearchData();
                            break;

                        case ActionType.DeleteAutodealer:
                            AutodealerController.Delete();
                            break;

                        case ActionType.AddAutodealer:
                            AutodealerController.Add();
                            break;

                        case ActionType.EditAutodealer:
                            AutodealerController.Edit();
                            break;

                        case ActionType.SetAutodealerSearchData:
                            AutodealerController.SetAutodealerSearchData();
                            break;

                        case ActionType.GetCurrentAutodealerStatistics:
                            StatisticsController.GetCurrentAutodealerStatistics();
                            break;

                        case ActionType.GetNotSoldCars:
                            CarController.GetNotSoldCars();
                            break;

                        case ActionType.EditCurrentUserUsername:
                            UserController.EditCurrentUserUsername();
                            break;

                        case ActionType.EditCurrentUserPassword:
                            UserController.EditCurrentUserPassword();
                            break;

                        case ActionType.EditCurrentUserFirstname:
                            UserController.EditCurrentUserFirstname();
                            break;

                        case ActionType.EditCurrentUserSurname:
                            UserController.EditCurrentUserSurname();
                            break;

                        case ActionType.EditCurrentUserTelephone:
                            UserController.EditCurrentUserTelephone();
                            break;

                        case ActionType.BuyCar:
                            CarController.BuyCar();
                            break;

                        case ActionType.GetCurrentUserStatistics:
                            DealsController.GetCurrentUserStatistics();
                            break;

                        case ActionType.GetCurrentUserCars:
                            CarController.GetCurrentUserCars();
                            break;

                        case ActionType.GetUsersNotSuperUsers:
                            UserController.GetUsersNotSuperUsers();
                            break;
                        }
                    }
                }
            }
            catch (Exception) {}
            finally
            {
                if (_NetworkStream != null)
                {
                    _NetworkStream.Close();
                }
                if (Client != null)
                {
                    Client.Close();
                }
            }
        }