예제 #1
0
        public async void PostCases_Add()
        {
            var query = new CasesController(context);

            // userId provided but in app it would be taken from the user profile
            var newCase = new Cases {
                Id = 22, SoftwareId = 1, Title = "Title22", Description = "Desc22", Type = 3, UrgencyLevel = 1, UserId = "a3", ContactId = null
            };

            var result = await query.PostCases(newCase); // async

            var added = await query.GetCase(22);         // async

            var resultGoodRequest = Assert.IsType <CreatedAtActionResult>(result.Result);

            Assert.Equal(newCase.Id, added.Value.Id);
            Assert.Equal(newCase.SoftwareId, added.Value.SoftwareId);
            Assert.Equal(newCase.Title, added.Value.Title);
            Assert.Equal(newCase.Description, added.Value.Description);
            Assert.Equal(newCase.Type, added.Value.Type);
            Assert.Equal(newCase.UrgencyLevel, added.Value.UrgencyLevel);
            Assert.Equal(newCase.UserId, added.Value.UserId);
            Assert.Equal(newCase, resultGoodRequest.Value);
            // PostCases returns Cases, Get returns CasesToReturn to not going to be able to compare objects
        }
예제 #2
0
        public void CasesController_DeleteById()
        {
            CasesController _controller = new CasesController(_mockService.Object, _logger.Object);
            var             result      = _controller.Delete(13);

            Assert.IsNotNull(result);
        }
예제 #3
0
        public void CasesController_Get()
        {
            CasesController _controller = new CasesController(_mockService.Object, _logger.Object);
            var             result      = _controller.Get();

            Assert.IsNotNull(result);
        }
예제 #4
0
        public void ThenGetCreatedUserWith()
        {
            CasesController controller = new CasesController();
            var             case2      = controller.Get(myCase.ID);

            Assert.AreEqual(case2.ID, myCase.ID, "id not match.");
        }
예제 #5
0
        public async void GetCase_Returns_OK()
        {
            var query = new CasesController(context);

            var result = await query.GetCase(2);  // async

            Assert.IsType <ActionResult <CasesToReturn> >(result);
        }
예제 #6
0
        public async void DeleteCases_Returns_OK()
        {
            var query = new CasesController(context);

            var result = await query.DeleteCases(3);  // async

            Assert.IsType <ActionResult <Cases> >(result);
        }
예제 #7
0
        public void ThenGetCaseBy(int caseId)
        {
            //   ScenarioContext.Current.Pending();
            caseRepo = new CaseRepoImpl();
            myCase   = caseRepo.GetCaseById(caseId);
            CasesController controller = new CasesController();
            var             case2      = controller.Get(myCase.ID);

            Assert.AreEqual(case2.ID, myCase.ID, "id not match.");
        }
        public CaseControllerTests(ServicesFixture fixture)
        {
            fixture.Services.AddSingleton <CasesController>();
            _httpMessageHandler = fixture.HttpMessageHandler;
            _provider           = fixture.Services.BuildServiceProvider();

            _caseTypeRepository   = _provider.GetService <ICaseTypeRepository>();
            _caseFolderRepository = _provider.GetService <ICaseFolderRepository>();
            _caseController       = _provider.GetService <CasesController>();
            _unitOfWork           = _provider.GetService <UnitOfWork>();
        }
예제 #9
0
        public async Task <IActionResult> OnGetAsync()
        {
            this.Title = "Covid-19 Fälle in Stuttgart";

            covid19Data = await CasesController.LoadCovidData();

            this.SubTitle = covid19Data.FirstOrDefault().attributes.Datenstand;


            return(Page());
        }
        public async Task Index()
        {
            var controller = new CasesController(null, _caseRepository.Object, _itemTranslationRepository.Object);

            var model = new List <Case>().AsQueryable().BuildMock();

            _caseRepository.Setup(repo => repo.GetAll()).Returns(model.Object);
            var result = await controller.Index();

            Assert.IsType <ViewResult>(result);
        }
예제 #11
0
        public void Setup()
        {
            _webHostEnvironment = Substitute.For <IWebHostEnvironment>();
            _editDto            = Substitute.For <EditDTO>(); // dette burde have været en interface
            _connection         = new SqliteConnection("DataSource=:memory:");
            _connection.Open();
            _options = new DbContextOptionsBuilder <ApplicationDbContext>().UseSqlite(_connection).Options;
            _applicationDbContext = new ApplicationDbContext(_options);

            _uut = new CasesController(_applicationDbContext, _webHostEnvironment);
        }
예제 #12
0
        public async void UpdateCase_Put()
        {
            var query = new CasesController(context);

            var newCase = new Cases {
                Id = 2, SoftwareId = 2, Title = "Title2a", Description = "Desc2a", Type = 1, UrgencyLevel = 1, UserId = "a2", ContactId = null
            };

            var newCaseToReturn = new CasesToReturn
            {
                Id           = 2,
                SoftwareId   = 2,
                Title        = "Title2a",
                Description  = "Desc2a",
                Type         = 1,
                UrgencyLevel = 1,
                UserId       = "a2",
                Software     = new Software {
                    Id = 2, Name = "GymBooker"
                },
                UserInfo = new UserInfo {
                    Id = "a2", UserName = "******", FirstName = "John", LastName = "Doe", Email = "*****@*****.**"
                },
                ContactInfo = new UserInfo {
                }
            };

            // https://stackoverflow.com/questions/36856073/the-instance-of-entity-type-cannot-be-tracked-because-another-instance-of-this-t/42475617
            var local = context.Cases.Local.Where(t => t.Id == 2).FirstOrDefault();

            if (local != null)
            {
                context.Entry(local).State = EntityState.Detached; // only needed for xUnit testing
            }
            var result = await query.PutCases(2, newCase);         // async

            var added = await query.GetCase(2);                    // async

            var addedGoodRequest = Assert.IsType <CasesToReturn>(added.Value);

            Assert.Equal(newCase.Id, added.Value.Id);
            Assert.Equal(newCase.SoftwareId, added.Value.SoftwareId);
            Assert.Equal(newCase.Title, added.Value.Title);
            Assert.Equal(newCase.Description, added.Value.Description);
            Assert.Equal(newCase.Type, added.Value.Type);
            Assert.Equal(newCase.UrgencyLevel, added.Value.UrgencyLevel);
            Assert.Equal(newCase.UserId, added.Value.UserId);
            Assert.Equal(Newtonsoft.Json.JsonConvert.SerializeObject(newCaseToReturn), Newtonsoft.Json.JsonConvert.SerializeObject(addedGoodRequest));
            //Assert.Equal(newEmployeeSkillToReturn, addedGoodRequest);
            // not sure why the objects aren't considered to be the same
            // PostCases returns Cases, Get returns CasesToReturn to not going to be able to compare objects
            //Assert.Equal(newEmployeeSkill, result); // No Content returned so can't check it without changing return value
        }
예제 #13
0
        public async void DeleteCases_Delete_Id_5()
        {
            var query = new CasesController(context);

            var result = await query.DeleteCases(3);  // async

            Assert.Equal(3, result.Value.Id);
            Assert.Equal(2, result.Value.SoftwareId);
            Assert.Equal("Title3", result.Value.Title);
            Assert.Equal("Desc3", result.Value.Description);
            Assert.Equal(2, result.Value.UrgencyLevel);
            Assert.Equal("a2", result.Value.UserId);
        }
예제 #14
0
        public async void GetCasesUser_Check_All_Recieved_Returns_OK_And_Paginated_Result()
        {
            var query = new CasesController(context);

            int    caseFilter     = 0;      // 1 = active cases, 0 = all
            int    softwareFilter = 0;      // 0 = all
            string sort           = "case"; // default is "case"
            bool   sortAsc        = true;
            int    pageIndex      = 1;
            string searchString   = null;
            var    result         = await query.GetCasesUser(caseFilter, softwareFilter, sort, sortAsc, pageIndex, searchString); // async

            Assert.IsType <ActionResult <PaginatedListCases> >(result);
        }
예제 #15
0
        public async void PostCases_Returns_OK()
        {
            var query = new CasesController(context);

            // userId provided but in app it would be taken from the user profile
            var newCase = new Cases {
                Id = 22, SoftwareId = 1, Title = "Title22", Description = "Desc22", Type = 3, UrgencyLevel = 1, UserId = "a3"
            };

            var result = await query.PostCases(newCase);  // async

            Assert.IsType <ActionResult <Cases> >(result);
            Assert.IsType <CreatedAtActionResult>(result.Result);
        }
예제 #16
0
        public async void GetCase()
        {
            var query = new CasesController(context);

            var result = await query.GetCase(2);  // async

            Assert.Equal(2, result.Value.Id);
            Assert.Equal(2, result.Value.SoftwareId);
            Assert.Equal("Title2", result.Value.Title);
            Assert.Equal("Desc2", result.Value.Description);
            Assert.Equal(1, result.Value.Type);
            Assert.Equal(3, result.Value.UrgencyLevel);
            Assert.Equal("a2", result.Value.UserId);
        }
예제 #17
0
        public void CasesController_Post()
        {
            CaseViewModel obj = new CaseViewModel()
            {
                CreatedDate      = DateTime.Now.AddDays(-35),
                Description      = "Case Unit Test User",
                Title            = "Criminal Complaint 0001",
                StatusID         = 1,
                LastModifiedDate = DateTime.Now,
            };
            CasesController _controller = new CasesController(_mockService.Object, _logger.Object);
            var             result      = _controller.Post(obj);

            Assert.IsNotNull(result);
        }
예제 #18
0
        public async Task CasesController_ReturnsOkObjectResult(int id)
        {
            //Arrange
            var controller = new CasesController(service);
            var model      = new CaseModel()
            {
                Id = id
            };

            //Act
            var actionResult = await controller.TestCase(model);

            //Assert
            Assert.IsAssignableFrom <OkObjectResult>(actionResult);
        }
예제 #19
0
        public async void GetCasesSupport_Check_Employee_Recieves_Correct_Qty_Of_Cases_When_Employee_Is_Assigned_And_Is_Not_A_ManagerOrAdmin()
        {
            var query = new CasesController(context);

            int    caseFilter     = 0;      // 1 = completed cases, 0 = all
            int    softwareFilter = 0;      // 0 = all
            int    typeFilter     = 0;      // 0 = all
            string sort           = "case"; // default is "case"
            bool   sortAsc        = true;
            int    pageIndex      = 1;
            string searchString   = null;
            var    result         = await query.GetCasesSupport(caseFilter, softwareFilter, typeFilter, sort, sortAsc, pageIndex, searchString); // async

            Assert.Equal(4, result.Value.Cases.Count);
        }
예제 #20
0
        public async void GetCasesUser_Check_All_Active_Cases_For_A_Particular_SoftwareId_Recieved_For_User()
        {
            var query = new CasesController(context);

            int    caseFilter     = 1;      // 1 = active cases, 0 = all
            int    softwareFilter = 2;      // 0 = all
            string sort           = "case"; // default is "case"
            bool   sortAsc        = true;
            int    pageIndex      = 1;
            string searchString   = null;
            var    result         = await query.GetCasesUser(caseFilter, softwareFilter, sort, sortAsc, pageIndex, searchString); // async

            // if sample is more than 10 then count should be 10 because of paginated result
            Assert.Equal(3, result.Value.Cases.Count);
        }
예제 #21
0
        public async void GetCasesUser_Check_All_Recieved_For_User_With_Search_String()
        {
            var query = new CasesController(context);

            int    caseFilter     = 0;      // 1 = active cases, 0 = all
            int    softwareFilter = 0;      // 0 = all
            string sort           = "case"; // default is "case"
            bool   sortAsc        = true;
            int    pageIndex      = 1;
            string searchString   = "Desc1";
            var    result         = await query.GetCasesUser(caseFilter, softwareFilter, sort, sortAsc, pageIndex, searchString); // async

            // if sample is more than 10 then count should be 10 because of paginated result
            Assert.Equal(10, result.Value.Cases.Count);
            Assert.Equal(1, result.Value.TotalPages);
        }
예제 #22
0
        public async void GetCasesUser_Check_All_Active_For_User_With_Search_String_Orderedby_Case_Descending()
        {
            var query = new CasesController(context);

            int    caseFilter     = 1;      // 1 = active cases, 0 = all
            int    softwareFilter = 0;      // 0 = all
            string sort           = "case"; // default is "case"
            bool   sortAsc        = false;
            int    pageIndex      = 1;
            string searchString   = "Desc1";
            var    result         = await query.GetCasesUser(caseFilter, softwareFilter, sort, sortAsc, pageIndex, searchString); // async

            // if sample is more than 10 then count should be 10 because of paginated result
            Assert.Equal(4, result.Value.Cases.Count);
            Assert.Equal(19, result.Value.Cases.First().Id);
            Assert.Equal(16, result.Value.Cases.Last().Id);
        }
예제 #23
0
        public async void UpdateCase_Returns_OK()
        {
            var query = new CasesController(context);

            var newCase = new Cases {
                Id = 2, SoftwareId = 2, Title = "Title2a", Description = "Desc2a", Type = 1, UrgencyLevel = 1, UserId = "a2"
            };

            // https://stackoverflow.com/questions/36856073/the-instance-of-entity-type-cannot-be-tracked-because-another-instance-of-this-t/42475617
            var local = context.Cases.Local.Where(t => t.Id == 2).FirstOrDefault();

            if (local != null)
            {
                context.Entry(local).State = EntityState.Detached; // only needed for xUnit testing
            }
            var result = await query.PutCases(2, newCase);         // async

            Assert.IsType <NoContentResult>(result);
        }
        public void CheckSurroundings()
        {
            var c = new Case
            {
                Id       = 2,
                CaseTags = new List <CaseTag>
                {
                    new CaseTag {
                        CaseId = 2, TagId = 1
                    },
                    new CaseTag {
                        CaseId = 2, TagId = 2
                    }
                },

                Date  = new DateTime(2009, 6, 1, 7, 47, 0),
                Title = "case2"
            };

            var cases = (new Case
            {
                Id = 1,
                CaseTags = new List <CaseTag>
                {
                    new CaseTag {
                        CaseId = 1, TagId = 1
                    },
                    new CaseTag {
                        CaseId = 1, TagId = 2
                    }
                },
                Date = new DateTime(2008, 6, 1, 7, 47, 0),
                Title = "case1"
            }, new Case
            {
                Id = 3,
                CaseTags = new List <CaseTag>
                {
                    new CaseTag {
                        CaseId = 3, TagId = 1
                    },
                    new CaseTag {
                        CaseId = 3, TagId = 2
                    }
                },

                Date = new DateTime(2010, 6, 1, 7, 47, 0),
                Title = "case3"
            });

            _caseRepository.Setup(repo => repo.GetAdjacent(c)).Returns(Task.FromResult(cases));

            var service = new Mock <IRelatedItemsRepository>();

            var controller = new CasesController(service.Object, _caseRepository.Object, _itemTranslationRepository.Object);

            var list = controller.GetAdjacent(c);

            var result  = DateTime.Compare(list.Result.Previous.Date, c.Date);
            var result2 = DateTime.Compare(list.Result.Next.Date, c.Date);

            Assert.Equal(-1, result);
            Assert.Equal(1, result2);
        }