public void SeedData()
        {
            var gear1 = new Gear
            {
                Id          = 1,
                Name        = "Cam",
                Description = "Just a cam",
                Brand       = "TestCams"
            };
            var gear2 = new Gear
            {
                Id          = 2,
                Name        = "Nut",
                Description = "Just a nut",
                Brand       = "TestNuts"
            };
            var gear3 = new Gear
            {
                Id          = 3,
                Name        = "Carabiner",
                Description = "Just a Carabiner",
                Brand       = "TestCarabiners"
            };

            DbContext.Gear.AddRange(gear1, gear2, gear3);

            var userGear1 = new UserGear
            {
                Id       = 1,
                GearId   = 1,
                UserId   = "TestUserId",
                Quantity = 1
            };
            var userGear2 = new UserGear
            {
                Id       = 2,
                GearId   = 2,
                UserId   = "TestUserId",
                Quantity = 2,
            };
            var userGear3 = new UserGear
            {
                Id       = 3,
                GearId   = 3,
                UserId   = "NotTestUserId",
                Quantity = 3,
            };

            DbContext.UserGear.AddRange(userGear1, userGear2, userGear3);

            var testUser = new User
            {
                Id       = "TestUserId",
                UserName = "******",
                Email    = "*****@*****.**"
            };

            DbContext.User.Add(testUser);
            DbContext.SaveChanges();
        }
        public async Task <IActionResult> UpdateGear(long id, UserGear putUserGear)
        {
            if (id != putUserGear.Id)
            {
                return(BadRequest());
            }

            var userGear = await _repository.GetByIdAsync(id);

            if (userGear == null)
            {
                return(NotFound());
            }

            userGear.GearId   = putUserGear.GearId;
            userGear.UserId   = putUserGear.UserId;
            userGear.Quantity = putUserGear.Quantity;

            try
            {
                await _repository.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException) when(!UserGearExists(id))
            {
                return(NotFound());
            }

            return(NoContent());
        }
        public async Task <ActionResult <UserGear> > CreateUserGear(UserGear postGear)
        {
            UserGear userGear = new UserGear
            {
                GearId   = postGear.GearId,
                UserId   = postGear.UserId,
                Quantity = postGear.Quantity
            };

            await _repository.AddAsync(userGear);

            return(CreatedAtAction(nameof(GetUserGear), new { id = userGear.Id }, userGear));
        }
Пример #4
0
        public async Task UpdateUserGearCallWithInvalidId_ShouldReturnNotFound()
        {
            var mockRepo   = new Mock <IUserGearRepository>();
            var controller = new UserGearController(mockRepo.Object);

            var mockUserGear = new UserGear()
            {
                Id       = 42,
                UserId   = "TestUserId",
                GearId   = 1,
                Quantity = 42
            };

            var result = await controller.UpdateGear(42, mockUserGear);

            Assert.IsType <NotFoundResult>(result);
        }
 private static UserGearDTO UserGearToDTO(UserGear userGear)
 {
     return(new UserGearDTO
     {
         Id = userGear.Id,
         GearId = userGear.Gear.Id,
         Name = userGear.Gear.Name,
         Quantity = userGear.Quantity,
         Description = userGear.Gear.Description,
         Brand = userGear.Gear.Brand,
         WeightGrams = userGear.Gear.WeightGrams,
         LengthMM = userGear.Gear.LengthMM,
         WidthMM = userGear.Gear.WidthMM,
         DepthMM = userGear.Gear.DepthMM,
         Locking = userGear.Gear.Locking
     });
 }
Пример #6
0
        public async Task CreateUserGearWithNewUserGear_ShouldReturnNewUserGearAndCreated()
        {
            var mockRepo   = new Mock <IUserGearRepository>();
            var controller = new UserGearController(mockRepo.Object);

            var mockUserGear = new UserGear()
            {
                UserId   = "NewUserGear",
                GearId   = 1,
                Quantity = 42
            };

            var result = await controller.CreateUserGear(mockUserGear);

            var resultObject = result.Result as CreatedAtActionResult;
            var resultGear   = resultObject.Value as UserGear;

            Assert.Equal(201, resultObject.StatusCode);
            Assert.Equal(mockUserGear.UserId, resultGear.UserId);
        }
Пример #7
0
        public async Task UpdateUserGearWithNonMatchingIds_ShouldReturnBadRequest()
        {
            var mockRepo = new Mock <IUserGearRepository>();

            mockRepo.Setup(repo => repo.GetByIdAsync(It.IsAny <long>()).Result)
            .Returns(MockUserGear());

            var controller = new UserGearController(mockRepo.Object);

            var mockUserGear = new UserGear()
            {
                Id       = 666,
                UserId   = "TestUserId",
                GearId   = 1,
                Quantity = 42
            };

            var result = await controller.UpdateGear(1, mockUserGear);

            Assert.IsType <BadRequestResult>(result);
        }
 public Task DeleteAsync(UserGear userGear)
 {
     _dbContext.UserGear.Remove(userGear);
     return(_dbContext.SaveChangesAsync());
 }
 public Task AddAsync(UserGear userGear)
 {
     _dbContext.UserGear.Add(userGear);
     return(_dbContext.SaveChangesAsync());
 }