Ejemplo n.º 1
0
 public BloodSugarLogService(UserManager <ApplicationUser> userManger,
                             SignInManager <ApplicationUser> signInManager,
                             BloodSugarDbContext context)
 {
     _userManager   = userManger;
     _signInManager = signInManager;
     _context       = context;
 }
        public async Task BloodSugarLogService_Create_Fail_Path()
        {
            var options = FakeDataDBContext();

            using (var context = new BloodSugarDbContext(options))
            {
                var service = new BloodSugarLogService(_userManagerMock.Object, _signInManagerMock.Object, context);
                // No user in the database
                var result = await service.Create(new CreateCommandModel { BloodValue = 123 });

                Assert.False(result);
            }
        }
        private DbContextOptions <BloodSugarDbContext> FakeDataDBContext()
        {
            var options = new DbContextOptionsBuilder <BloodSugarDbContext>()
                          .UseInMemoryDatabase(databaseName: "bloodSugarlogdb")
                          .Options;

            using (var context = new BloodSugarDbContext(options))
            {
                context.FoodInTakes.Add(new FoodInTake
                {
                    ApplicationUserId = "1234tyy",
                    BloodValue        = 100,
                    Name     = "Pizza",
                    TakeTime = new DateTime(2019, 12, 05)
                });

                context.FoodInTakes.Add(new FoodInTake
                {
                    ApplicationUserId = "1234tyy",
                    BloodValue        = 99,
                    Name     = "Pancake",
                    TakeTime = new DateTime(2019, 12, 05)
                });

                context.FoodInTakes.Add(new FoodInTake
                {
                    ApplicationUserId = "1234tyy6",
                    BloodValue        = 110,
                    Name     = "Cheesecake",
                    TakeTime = new DateTime(2019, 12, 05)
                });

                context.FoodInTakes.Add(new FoodInTake
                {
                    ApplicationUserId = "1234tyy4",
                    BloodValue        = 100,
                    Name     = "Pizza, Milk, butter milk",
                    TakeTime = new DateTime(2019, 12, 05)
                });

                context.SaveChanges();
            }

            return(options);
        }
        public async Task BloodSugarLogService_Create_Happ_Path()
        {
            var options = FakeDataDBContext();

            using (var context = new BloodSugarDbContext(options))
            {
                var service = new BloodSugarLogService(_userManagerMock.Object, _signInManagerMock.Object, context);
                _userManagerMock.Setup(x => x.FindByEmailAsync("*****@*****.**"))
                .ReturnsAsync(new ApplicationUser()
                {
                    UserName = "******",
                    Id       = "1234yy"
                });
                var result = await service.Create(new CreateCommandModel { FoodName = "Pilau", BloodValue = 123, Name = "*****@*****.**" });

                Assert.True(result);
            }
        }
        public async Task BloodSugarLogService_Return_PassUserWithNoResultReturnZero()
        {
            var options = FakeDataDBContext();

            using (var context = new BloodSugarDbContext(options))
            {
                var service = new BloodSugarLogService(_userManagerMock.Object, _signInManagerMock.Object, context);
                _userManagerMock.Setup(x => x.FindByEmailAsync("*****@*****.**"))
                .ReturnsAsync(new ApplicationUser()
                {
                    UserName = "******",
                    Id       = "1234"
                });
                var results = await service.GetBloodLogs("*****@*****.**");

                var count = results.Count;
                Assert.Equal(0, count);
            }
        }