Exemplo n.º 1
0
        public async void Create_Store_returns_created()
        {
            // Arrange
            var store = new StoreCreateDTO
            {
                Name     = "StrongHashPipes",
                Capacity = 420,
                Address  = new AddressDTO
                {
                    StreetName = "CrackStreet",
                    City       = new CityDTO {
                        Name = "NewBong", Postal = 4202
                    },
                    HouseNumber = 69
                }
            };

            mockStoreRepository.Setup(m => m.Create(store)).ReturnsAsync((1, 3));
            var controller = new StoreController(mockStoreRepository.Object);

            // Act
            var actual = await controller.Post(store);

            // Assert
            var result = Assert.IsType <CreatedAtActionResult>(actual);

            Assert.Equal(201, result.StatusCode);
        }
Exemplo n.º 2
0
        public async Task <ActionResult <StoreRefDTO> > Create([FromBody] StoreCreateDTO storeCreationDTO)
        {
            object?[] values =
            {
                storeCreationDTO.StoreName,
                storeCreationDTO.Username,
                storeCreationDTO.CreditCard?.CardNumber,
                storeCreationDTO.CreditCard?.Month,
                storeCreationDTO.CreditCard?.Year,
                storeCreationDTO.CreditCard?.HolderName,
                storeCreationDTO.CreditCard?.Cvv,
                storeCreationDTO.CreditCard?.HolderId,
                storeCreationDTO.Address?.State,
                storeCreationDTO.Address?.City,
                storeCreationDTO.Address?.Street,
                storeCreationDTO.Address?.ApartmentNumber,
                storeCreationDTO.Address?.ZipCode,
            };
            if (values.Contains(null))
            {
                return(BadRequest("Missing parameter values"));
            }

            StoreData storeData = await MarketStoreGeneralService.CreateStoreAsync
                                  (
                storeCreationDTO.StoreName,
                storeCreationDTO.Username,
                storeCreationDTO.CreditCard?.CardNumber,
                storeCreationDTO.CreditCard?.Month,
                storeCreationDTO.CreditCard?.Year,
                storeCreationDTO.CreditCard?.HolderName,
                storeCreationDTO.CreditCard?.Cvv,
                storeCreationDTO.CreditCard?.HolderId,
                storeCreationDTO.Address?.State,
                storeCreationDTO.Address?.City,
                storeCreationDTO.Address?.Street,
                storeCreationDTO.Address?.ApartmentNumber,
                storeCreationDTO.Address?.ZipCode
                                  );

            if (storeData is null)
            {
                return(InternalServerError());
            }

            return(Ok(new StoreRefDTO
            {
                Id = storeData.Id,
                Name = storeData.Name,
            }));
        }
Exemplo n.º 3
0
        public async Task Create_store_successful_adds_three_entity_to_db_from_new_store()
        {
            // Arrange
            var store = new StoreCreateDTO {
                Name     = "elminidik",
                Capacity = 50,
                Address  = new AddressDTO {
                    StreetName = "vejvej", City = new CityDTO {
                        Name = "CityNameee2", Postal = 9999
                    }, HouseNumber = 20
                }
            };

            // Act
            var result = await _repository.Create(store);

            // Assert
            Assert.Equal(3, result.affectedRows);
        }
Exemplo n.º 4
0
        public async Task Create_store_successful_adds_two_entity_to_db_from_existing_store()
        {
            // Arrange
            var store = new StoreCreateDTO {
                Name     = "gigidiks",
                Capacity = 510,
                Address  = new AddressDTO {
                    StreetName = "vejvej", City = new CityDTO {
                        Name = "CityNameee1", Postal = 3300
                    }, HouseNumber = 220
                },
                Image = "123"
            };

            // Act
            var result = await _repository.Create(store);

            // Assert
            Assert.Equal(2, result.affectedRows);
        }
Exemplo n.º 5
0
        public async Task <(int affectedRows, int id)> Create(StoreCreateDTO Store)
        {
            var entity = new Store
            {
                Capacity = Store.Capacity,
                Name     = Store.Name,
                Address  = new Address
                {
                    StreetName  = Store.Address.StreetName,
                    City        = await GetCity(Store.Address.City),
                    HouseNumber = Store.Address.HouseNumber
                },
                Image = Store.Image
            };

            _context.Store.Add(entity);
            var affectedRows = await _context.SaveChangesAsync();

            return(affectedRows, entity.Id);
        }
Exemplo n.º 6
0
        public async Task <IActionResult> Post([FromBody] StoreCreateDTO store)
        {
            var result = await _repository.Create(store);

            return(CreatedAtAction(nameof(Get), new { result.id }, default));
        }