Exemplo n.º 1
0
        public ServiceResponse GetProjectQuotes(long projectId)
        {
            ProjectQuotesModel model = new ProjectQuotesModel
            {
                ProjectId = projectId
            };

            return(projectService.GetProjectQuotesModel(this.CurrentUser, model));
        }
Exemplo n.º 2
0
        public void TestProjectController_ProjectQuotes(string httpMethod)
        {
            SetUpProjectControllerForTesting(httpMethod);
            projectController.CurrentUser = user;

            ProjectQuotesModel model = new ProjectQuotesModel();

            model.ProjectId = projectId;
            model           = projectService.GetProjectQuotesModel(user, model).Model as ProjectQuotesModel;
            ViewResult result = projectController.ProjectQuotes(model) as ViewResult;

            Assert.That(result, Is.Not.EqualTo(null));
            Assert.That(result.ViewName, Is.EqualTo("ProjectQuotes"));
            Assert.That(result.Model, Is.Not.EqualTo(null));
            Assert.That((result.Model as ProjectQuotesModel).Items.Count, Is.GreaterThan(0));

            if ((result.Model as ProjectQuotesModel).Items.Count > 0)
            {
                QuoteListModel item = (result.Model as ProjectQuotesModel).Items.First();
                Assert.That(item.QuoteId, Is.Not.EqualTo(null));
                Assert.That(item.Title, Is.Not.EqualTo(null));
            }
        }
Exemplo n.º 3
0
        public void TestProjectQuotesView_TestDuplicateQuoteOnActionMenu()
        {
            //get the old quoteId before duplicate
            long quoteId = 0;
            int  results = this.db.Quotes.Where(q => q.ProjectId == projectId).Count();

            if (results > 1)
            {
                //get the last quote before duplicate
                quoteId = this.db.Context.Quotes.Where(q => q.ProjectId == projectId)
                          .OrderBy(q => q.QuoteId)
                          .Select(q => q.QuoteId).ToArray()[results - 1];
            }
            else
            {
                //get the quote before duplicate
                quoteId = this.db.Context.Quotes.Where(q => q.ProjectId == projectId)
                          .OrderBy(q => q.QuoteId)
                          .Select(q => q.QuoteId).FirstOrDefault();
            }

            NavigateToProjectQuotesView(user, projectId);

            IWebElement quoteTable = driver.FindElement(By.Id("ProjectQuotes_table"));

            int ActionMenuCount = quoteTable.FindElement(By.TagName("tbody"))
                                  .FindElements(By.ClassName("actions")).Count();

            IWebElement actionMenu = quoteTable.FindElement(By.TagName("tbody"))
                                     .FindElements(By.ClassName("actions"))
                                     .ToArray()[ActionMenuCount - 1];

            IWebElement[] actionItems = actionMenu.FindElement(By.TagName("ul"))
                                        .FindElements(By.TagName("li")).ToArray();
            actionMenu.Click();

            IWebElement quoteDuplicateLink = actionItems[2].FindElement(By.TagName("a"));

            Assert.That(quoteDuplicateLink.GetAttribute("href").ToLower(),
                        Is.EqualTo("http://user15%40test.com:123456@tstsysdcity2/projectdashboard/quoteduplicate/" +
                                   projectId + "/" + quoteId));

            ProjectQuotesModel projectQuotesModel = new ProjectQuotesModel();

            projectQuotesModel.ProjectId = projectId;

            projectQuotesModel = projectService.GetProjectQuotesModel(user, projectQuotesModel).Model as ProjectQuotesModel;
            var quoteCount = projectQuotesModel.Items.Count;

            var oldQuote = projectQuotesModel.Items.Where(i => i.QuoteId == quoteId)
                           .OrderByDescending(I => I.QuoteId)
                           .FirstOrDefault();

            quoteDuplicateLink.Click();

            projectQuotesModel = projectService.GetProjectQuotesModel(user, projectQuotesModel).Model as ProjectQuotesModel;

            //make sure new quote has added to quote table.
            Assert.That(projectQuotesModel.Items.Count, Is.GreaterThan(quoteCount));

            //get the duplicate quote
            QuoteListModel duplicateQuote = projectQuotesModel.Items[projectQuotesModel.Items.Count() - 1] as QuoteListModel;

            //make sure new quote has properties value match old quote
            Assert.That(duplicateQuote.Title.ToLower(), Is.EqualTo(oldQuote.Title.ToLower()));
            Assert.That(duplicateQuote.TotalList, Is.EqualTo(oldQuote.TotalList));
            Assert.That(duplicateQuote.TotalNet, Is.EqualTo(oldQuote.TotalNet));
            Assert.That(duplicateQuote.TotalSell, Is.EqualTo(oldQuote.TotalSell));
            Assert.That(duplicateQuote.ProjectId, Is.EqualTo(oldQuote.ProjectId));
        }