public async void PostProgressReport_PostsProgressReport()
        {
            using (var context = new RCCSContext(_contextOptions))
            {
                //Arrange
                var createProgressReportController = new CreateProgressReportController(context);
                var createProgressViewModel        = new CreateProgressReportViewModel
                {
                    CPR    = 2905891233,
                    Title  = "Progressreport title",
                    Report = "Test report",
                    ResponsibleCaretaker = "Me"
                };

                //Act
                var progressReportViewModel = await createProgressReportController.PostProgressReport(createProgressViewModel);

                //Assert
                Assert.NotNull(progressReportViewModel);
                var actionResult          = Assert.IsType <ActionResult <ProgressReport> >(progressReportViewModel);
                var createdAtActionResult = Assert.IsType <CreatedAtActionResult>(actionResult.Result);
                Assert.Equal("PostProgressReport", createdAtActionResult.ActionName);
                var progressReportCreated = Assert.IsType <ProgressReport>(createdAtActionResult.Value);

                Assert.True(createProgressViewModel.CPR.Equals(progressReportCreated.CitizenCPR));
                Assert.True(createProgressViewModel.Title.Equals(progressReportCreated.Title));
                Assert.True(createProgressViewModel.Report.Equals(progressReportCreated.Report));
                Assert.True(createProgressViewModel.ResponsibleCaretaker.Equals(progressReportCreated.ResponsibleCaretaker));
            }
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            string[] jsonPath = { "/../../../../RCCS.DatabaseAPI/appsettings.json" };
            DesignTimeRCCSContextFactory rccsContextFactory = new DesignTimeRCCSContextFactory();

            using RCCSContext context = rccsContextFactory.CreateDbContext(jsonPath);
            DataSeeder dataSeeder = new DataSeeder(context);

            dataSeeder.SeedData1();
            dataSeeder.SeedData2();
            dataSeeder.SeedRespiteCareHomeData();
        }
Exemplo n.º 3
0
        public async void GetCitizenList_ReturnsCitizenList()
        {
            using (var context = new RCCSContext(_contextOptions))
            {
                //Arrange
                var citizenListController = new CitizenListController(context);

                //Act
                var citizenListViewModel = await citizenListController.GetCitizenList();

                //Assert
                Assert.NotNull(citizenListViewModel);
                var actionResult = Assert.IsType <ActionResult <IEnumerable <CitizenListViewModel> > >(citizenListViewModel);
                Assert.IsAssignableFrom <IEnumerable <CitizenListViewModel> >(actionResult.Value);
                var citizenListViewModels = actionResult.Value.Count();
                Assert.True(!citizenListViewModels.Equals(0));
            }
        }
Exemplo n.º 4
0
        public async void GetRespiteCareHomeList()
        {
            using (var context = new RCCSContext(_contextOptions))
            {
                //Arrange
                var respiteCareHomeController = new RespiteCareHomeListController(context);

                //Act
                var respiteCareHomeListViewModel = await respiteCareHomeController.GetRespiteCareHomeList();

                //Assert
                Assert.NotNull(respiteCareHomeListViewModel);
                var actionResult = Assert.IsType <ActionResult <IEnumerable <RespiteCareHomeListViewModel> > >(respiteCareHomeListViewModel);
                Assert.IsAssignableFrom <IEnumerable <RespiteCareHomeListViewModel> >(actionResult.Value);
                var respiteCareHomeListViewModels = actionResult.Value.Count();
                Assert.True(!respiteCareHomeListViewModels.Equals(0));
            }
        }
Exemplo n.º 5
0
        public async void GetCitizenInformation_ReturnsCitizenInformationViewModel()
        {
            using (var context = new RCCSContext(_contextOptions))
            {
                //Arrange
                var citizenInformationController = new CitizenInformationController(context);

                //Act
                var citizenInformationViewModel =
                    await citizenInformationController
                    .GetCitizenInformation("2905891233");

                //Assert
                Assert.NotNull(citizenInformationViewModel);
                var actionResult = Assert.IsType <ActionResult <CitizenInformationViewModel> >(citizenInformationViewModel);
                var civm         = Assert.IsType <CitizenInformationViewModel>(actionResult.Value);
                Assert.Equal("2905891233", civm.CPR);
            }
        }
Exemplo n.º 6
0
        public async void GetCitizens_Returns_List_Of_Citizens()
        {
            var connection = new SqliteConnection("DataSource=:memory:");
            await connection.OpenAsync();

            var options = new DbContextOptionsBuilder <RCCSContext>()
                          .UseSqlite(connection)
                          .Options;


            using (var context = new RCCSContext(options))
            {
                context.Database.EnsureCreated();

                context.Citizens.AddRange(
                    new Citizen
                {
                    FirstName = "Jens",
                    LastName  = "Jensen",
                    CPR       = 2020201987
                },
                    new Citizen
                {
                    FirstName = "Anker",
                    LastName  = "Sørensen",
                    CPR       = 2121211947
                });

                context.SaveChanges();
            }

            using (var context = new RCCSContext(options))
            {
                var citizenController = new CitizenController(context);

                var citizenList = await citizenController.GetCitizens();

                Assert.NotNull(citizenList);
                var actionResult = Assert.IsType <ActionResult <List <Citizen> > >(citizenList);
                var returnValue  = Assert.IsAssignableFrom <IEnumerable <Citizen> >(actionResult.Value);
            }
        }
        public async void PutCitizen_TryPutExistingCitizen()
        {
            using (var context = new RCCSContext(_contextOptions))
            {
                //Arrange
                var createCitizenController = new CreateCitizenController(context);

                CreateCitizenViewModel ccvm = new CreateCitizenViewModel
                {
                    FirstName = "Borger",
                    LastName  = "Borgersen",
                    CPR       = 1204115947,

                    RelativeFirstName = "Borger Jr.",
                    RelativeLastName  = "Borgersen",
                    PhoneNumber       = 12345678,
                    Relation          = "Søn",
                    IsPrimary         = true,

                    StartDate            = DateTime.Now,
                    ReevaluationDate     = DateTime.Now.AddDays(14),
                    PlannedDischargeDate = new DateTime(2021, 12, 24),
                    ProspectiveSituationStatusForCitizen = "Afklaret",

                    CareNeed      = "Behov for hjælp i køkken",
                    PurposeOfStay = "Få det bedre",

                    RespiteCareHomeName = "Kærgården",
                    Type = 0
                };

                //Act
                var postedCitizen = await createCitizenController.PutCitizen(ccvm);

                //Assert
                Assert.NotNull(postedCitizen);
                var actionResult = Assert.IsType <ActionResult <Citizen> >(postedCitizen);
                Assert.IsType <NotFoundResult>(actionResult.Result);
            }
        }
        public async void GetCreateCitizin_GetsCreateCitizenViewModel()
        {
            using (var context = new RCCSContext(_contextOptions))
            {
                //Arrange
                var createCitizenController = new CreateCitizenController(context);
                var id = 2905891233;

                //Act
                var createCitizenViewModel = await createCitizenController.GetCreateCitizin(id);

                //Assert
                Assert.NotNull(createCitizenViewModel);
                var actionResult = Assert.IsType <ActionResult <CreateCitizenViewModel> >(createCitizenViewModel);
                var ccvm         = Assert.IsType <CreateCitizenViewModel>(actionResult.Value);

                Assert.Equal(id, ccvm.CPR);
                Assert.Equal("Citizen Citizensen", ccvm.FirstName + " " + ccvm.LastName);
                Assert.Equal("Kærgården", ccvm.RespiteCareHomeName);
                Assert.Equal(new DateTime(2021, 01, 29), ccvm.PlannedDischargeDate);
            }
        }
        public async void PostCitizen_TryPostAlreadyExistingCitizen()
        {
            using (var context = new RCCSContext(_contextOptions))
            {
                //Arrange
                var createCitizenController = new CreateCitizenController(context);

                CreateCitizenViewModel ccvm = new CreateCitizenViewModel
                {
                    FirstName = "Borger",
                    LastName  = "Borgersen",
                    CPR       = 2905891233,

                    RelativeFirstName = "Borger Jr.",
                    RelativeLastName  = "Borgersen",
                    PhoneNumber       = 12345678,
                    Relation          = "Søn",
                    IsPrimary         = true,

                    StartDate            = DateTime.Now,
                    ReevaluationDate     = DateTime.Now.AddDays(14),
                    PlannedDischargeDate = new DateTime(2021, 12, 24),
                    ProspectiveSituationStatusForCitizen = "Afklaret",

                    CareNeed      = "Behov for hjælp i køkken",
                    PurposeOfStay = "Få det bedre",

                    RespiteCareHomeName = "Kærgården",
                    Type = 0
                };

                //Act & Assert
                //Use ArgumentException in tests and not DbUpdateException as InMemory seems to be
                //using Collections as database
                //Correctly:
                //await Assert.ThrowsAsync<DbUpdateException>(() => createCitizenController.PostCitizen(ccvm));
                await Assert.ThrowsAsync <ArgumentException>(() => createCitizenController.PostCitizen(ccvm));
            }
        }
        public async void GetProgressReport_GetsProgressReportDataForCitizen()
        {
            using (var context = new RCCSContext(_contextOptions))
            {
                //Arrange
                var createProgressReportController = new CreateProgressReportController(context);
                var id = 2905891233;

                //Act
                var progressReportViewModel = await createProgressReportController.GetProgressReport(id);

                //Assert
                Assert.NotNull(progressReportViewModel);
                var actionResult = Assert.IsType <ActionResult <ProgressReportViewModel> >(progressReportViewModel);
                var prvm         = Assert.IsType <ProgressReportViewModel>(actionResult.Value);

                Assert.Equal(id, prvm.CPR);
                Assert.Equal("Citizen Citizensen", prvm.Name);
                Assert.Equal("Kærgården", prvm.RespiteCareHomeName);
                Assert.Equal(new DateTime(2021, 01, 29), prvm.PlannedDischargeDate);
            }
        }
 public RespiteCareHomeListController(RCCSContext context)
 {
     _context = context;
 }
Exemplo n.º 12
0
 public CitizenListController(RCCSContext context)
 {
     _context = context;
 }
Exemplo n.º 13
0
        internal DbContextOptions <RCCSContext> SetupDatabase()
        {
            var contextOptions = new DbContextOptionsBuilder <RCCSContext>()
                                 .UseInMemoryDatabase(Guid.NewGuid().ToString())
                                 .Options;

            using (var context = new RCCSContext(contextOptions))
            {
                context.Database.EnsureCreated();

                var citizen = new Citizen
                {
                    FirstName = "Citizen",
                    LastName  = "Citizensen",
                    CPR       = 2905891233
                };



                var relative = new Relative
                {
                    FirstName   = "Relative",
                    LastName    = "Relativesen",
                    PhoneNumber = 12345678,
                    Relation    = "Daughter",
                    IsPrimary   = true,
                    Citizen     = citizen
                };

                var ri = new ResidenceInformation
                {
                    StartDate            = DateTime.Now,
                    ReevaluationDate     = DateTime.Now.AddDays(14),
                    PlannedDischargeDate = new DateTime(2021, 01, 29),
                    ProspectiveSituationStatusForCitizen = "Uafklaret",
                    Citizen = citizen
                };

                var co = new CitizenOverview
                {
                    PurposeOfStay         = "Get better",
                    CareNeed              = "Lots",
                    NumberOfReevaluations = 0,
                    Citizen = citizen
                };

                var respiteCareHome = new RespiteCareHome
                {
                    Address = "RespiteCareHome Vej 19",
                    Name    = "Kærgården",
                    AvailableRespiteCareRooms = 1,
                    PhoneNumber = 12345678,
                };

                var respiteCareHome1 = new RespiteCareHome
                {
                    Address = "RespiteCareHome Vej 19",
                    Name    = "Bakkedal",
                    AvailableRespiteCareRooms = 1,
                    PhoneNumber = 12345678,
                };

                var respiteCareRoom = new RespiteCareRoom
                {
                    Type            = "Demensbolig",
                    RoomNumber      = 1,
                    IsAvailable     = false,
                    RespiteCareHome = respiteCareHome,
                    Citizen         = citizen
                };

                var respiteCareRoom1 = new RespiteCareRoom
                {
                    Type            = "Alm. plejebolig",
                    RoomNumber      = 2,
                    IsAvailable     = true,
                    RespiteCareHome = respiteCareHome,
                    Citizen         = null
                };

                var respiteCareRoom2 = new RespiteCareRoom
                {
                    Type            = "Demensbolig",
                    RoomNumber      = 1,
                    IsAvailable     = true,
                    RespiteCareHome = respiteCareHome1,
                    Citizen         = null
                };

                context.RespiteCareRooms.AddRange(respiteCareRoom, respiteCareRoom1, respiteCareRoom2);
                context.Relatives.Add(relative);
                context.ResidenceInformations.Add(ri);
                context.CitizenOverviews.Add(co);
                context.Citizens.Add(citizen);

                context.SaveChanges();
            }

            return(contextOptions);
        }
 public CitizenInformationController(RCCSContext context)
 {
     _context = context;
 }
Exemplo n.º 15
0
 public CreateCitizenController(RCCSContext context)
 {
     _context = context;
 }
Exemplo n.º 16
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env, RCCSUsersContext usersContext, RCCSContext context)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseSwagger();

            app.UseSwaggerUI(c =>
            {
                c.SwaggerEndpoint("/swagger/v1/swagger.json", "RCCS.DatabaseAPI V1");
                c.RoutePrefix = string.Empty;
            });

            app.UseHttpsRedirection();

            app.UseRouting();

            app.UseCors(x => x
                        //.AllowAnyOrigin() // Not allowed together with AllowCredential
                        //.WithOrigins("http://localhost:8080", "http://localhost:5000" )
                        .SetIsOriginAllowed(x => _ = true)
                        .AllowAnyMethod()
                        .AllowAnyHeader()
                        .AllowCredentials()
                        );



            app.UseAuthentication();
            app.UseAuthorization();

            app.UseEndpoints(endpoints => { endpoints.MapControllers(); });

            DataSeederUsers.SeedUsers(usersContext);

            DataSeeder.SeedCitizenResidencyDb(context);
        }
 public CreateProgressReportController(RCCSContext context)
 {
     _context = context;
 }
        public async void PostCitizen_PostsCitizenToDatabase()
        {
            using (var context = new RCCSContext(_contextOptions))
            {
                //Arrange
                var createCitizenController = new CreateCitizenController(context);

                CreateCitizenViewModel ccvm = new CreateCitizenViewModel
                {
                    FirstName = "Borger",
                    LastName  = "Borgersen",
                    CPR       = 1204115947,

                    RelativeFirstName = "Borger Jr.",
                    RelativeLastName  = "Borgersen",
                    PhoneNumber       = 12345678,
                    Relation          = "Søn",
                    IsPrimary         = true,

                    StartDate            = DateTime.Now,
                    ReevaluationDate     = DateTime.Now.AddDays(14),
                    PlannedDischargeDate = new DateTime(2021, 12, 24),
                    ProspectiveSituationStatusForCitizen = "Afklaret",

                    CareNeed      = "Behov for hjælp i køkken",
                    PurposeOfStay = "Få det bedre",

                    RespiteCareHomeName = "Kærgården",
                    Type = 0
                };

                //Act
                var postedCitizen = await createCitizenController.PostCitizen(ccvm);

                //Assert
                Assert.NotNull(postedCitizen);
                var actionResult          = Assert.IsType <ActionResult <Citizen> >(postedCitizen);
                var createdAtActionResult = Assert.IsType <CreatedAtActionResult>(actionResult.Result);
                Assert.Equal("PostCitizen", createdAtActionResult.ActionName);
                var citizenViewModelCreated = Assert.IsType <CreateCitizenViewModel>(createdAtActionResult.Value);


                Assert.True(ccvm.FirstName.Equals(citizenViewModelCreated.FirstName));
                Assert.True(ccvm.LastName.Equals(citizenViewModelCreated.LastName));
                Assert.True(ccvm.CPR.Equals(citizenViewModelCreated.CPR));

                Assert.True(ccvm.RelativeFirstName.Equals(citizenViewModelCreated.RelativeFirstName));
                Assert.True(ccvm.RelativeLastName.Equals(citizenViewModelCreated.RelativeLastName));
                Assert.True(ccvm.PhoneNumber.Equals(citizenViewModelCreated.PhoneNumber));
                Assert.True(ccvm.Relation.Equals(citizenViewModelCreated.Relation));
                Assert.True(ccvm.IsPrimary.Equals(citizenViewModelCreated.IsPrimary));

                Assert.True(ccvm.StartDate.Equals(citizenViewModelCreated.StartDate));
                Assert.True(ccvm.ReevaluationDate.Equals(citizenViewModelCreated.ReevaluationDate));
                Assert.True(ccvm.PlannedDischargeDate.Equals(citizenViewModelCreated.PlannedDischargeDate));
                Assert.True(ccvm.ProspectiveSituationStatusForCitizen.Equals(citizenViewModelCreated.ProspectiveSituationStatusForCitizen));

                Assert.True(ccvm.CareNeed.Equals(citizenViewModelCreated.CareNeed));
                Assert.True(ccvm.PurposeOfStay.Equals(citizenViewModelCreated.PurposeOfStay));

                Assert.True(ccvm.RespiteCareHomeName.Equals(citizenViewModelCreated.RespiteCareHomeName));
                Assert.True(ccvm.Type.Equals(citizenViewModelCreated.Type));
            }
        }