예제 #1
0
        public void IAddNewCardToTheExistingBoard(string name)
        {
            IRestResponse cardResponse = CardService.CreateCard(name);

            createdCardId = JObject.Parse(cardResponse.Content.ToString()).GetValue("id").ToString();

            Check.EqualBoolean(true, cardResponse.Content.Contains("OK"), "Card is successfully created", "Card isn't created");
        }
예제 #2
0
        public async Task <ActionResult> Create(CreateCardRequest request)
        {
            if (ModelState.IsValid)
            {
                await service.CreateCard(request);

                return(RedirectToAction("Index"));
            }

            return(View(request));
        }
예제 #3
0
        public void ThrowCardAlreadyExistException_When_PassedExsistingName(
            string firstCardName, int firstCardAttack, int firstCardPrice,
            string secondCardName, int secondCardAttack, int secondCardPrice)
        {
            // Arrange
            var contextOptions = new DbContextOptionsBuilder <CardstoneContext>()
                                 .UseInMemoryDatabase(databaseName: "ThrowCardAlreadyExistException_When_PassedExsistingName")
                                 .Options;

            // Act
            using (var actContext = new CardstoneContext(contextOptions))
            {
                var sut = new CardService(actContext);

                sut.CreateCard(firstCardName, firstCardAttack, firstCardPrice);

                // Assert
                Assert.ThrowsException <CardAlreadyExistException>(
                    () => sut.CreateCard(secondCardName, secondCardAttack, secondCardPrice));
            }
        }
예제 #4
0
        public void ThrowArgumentNullException_When_NullNameIsPassed()
        {
            // Arrange
            using (var context = new CardstoneContext())
            {
                CardService sut = new CardService(context);

                // Act & Assert
                Assert.ThrowsException <ArgumentNullException>(
                    () => sut.CreateCard(null, 0, 0));
            }
        }
예제 #5
0
        public ActionResult Post(Card card)
        {
            try
            {
                _cardService.CreateCard(card);

                return(Ok());
            }
            catch (Exception ex)
            {
                return(NotFound(ex));
            }
        }
예제 #6
0
        public void ThrowInvalidPriceException_When_PassedNegativePrice(string name, int attack, int price)
        {
            // Arrange
            var contextOptions = new DbContextOptionsBuilder <CardstoneContext>()
                                 .UseInMemoryDatabase(databaseName: "ThrowInvalidPriceException_When_PassedNegativePrice")
                                 .Options;

            using (var context = new CardstoneContext(contextOptions))
            {
                CardService sut = new CardService(context);

                // Act & Assert
                Assert.ThrowsException <InvalidPriceException>(
                    () => sut.CreateCard(name, attack, price));
            }
        }
예제 #7
0
        public void WillNotSaveCardWithMissingCreator()
        {
            // arrange
            Setup();
            _card.CreatedBy = 0;

            // act
            var result = _cardService.CreateCard(_card);

            // assert
            Assert.Equal(0, result);
        }
        public IActionResult PostCard([FromBody] CardBLL card)
        {
            try
            {
                if (card.Text == "")
                {
                    throw new Exception("Error. Card in request is null");
                }

                card.Id = cardService.CreateCard(card);

                return(Ok(card));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
예제 #9
0
        public void AddCardToDatabase_When_PassedValidParameters(string name, int attack, int price)
        {
            // Arrange
            var contextOptions = new DbContextOptionsBuilder <CardstoneContext>()
                                 .UseInMemoryDatabase(databaseName: "AddCardToDatabase_When_PassedValidParameters") // TODO
                                 .Options;

            Card card = new Card()
            {
                Name = name, Attack = attack, Price = price
            };

            int beforeCardsCount;

            using (var arrangeContext = new CardstoneContext(contextOptions))
            {
                beforeCardsCount = arrangeContext.Cards.Count();
            }

            // Act
            using (var actContext = new CardstoneContext(contextOptions))
            {
                var sut = new CardService(actContext);

                sut.CreateCard(card.Name, card.Attack, card.Price);
            }

            // Assert
            using (var assertContext = new CardstoneContext(contextOptions))
            {
                int afterCardsCount = assertContext.Cards.Count();

                int newCardsCount = afterCardsCount - beforeCardsCount;

                Assert.IsTrue(newCardsCount == 1);

                Card cardInDatabase = assertContext.Cards.Last();

                Assert.AreEqual(cardInDatabase.Name, name);
                Assert.AreEqual(cardInDatabase.Attack, attack);
                Assert.AreEqual(cardInDatabase.Price, price);
            }
        }
예제 #10
0
        public async void OnAddCardClick()
        {
            if (ActiveUser.IsActive == true)
            {
                BasicCardDTO dto = await CardService.CreateCard(ActiveUser.Instance.LoggedUser.Token, new CreateCardDTO()
                {
                    Name = "Untitled", Description = "No Description", DueDate = DateTime.Now.AddDays(7), ListId = cardList.ListId
                });

                if (dto != null)
                {
                    CardList.Cards.Add(new ReadCard(dto));
                }
                else
                {
                    ShowMessageBox(null, "Error creating card.");
                }
            }
        }
예제 #11
0
        public async void CanCreateCard()
        {
            DbContextOptions <GameDbContext> options = new DbContextOptionsBuilder <GameDbContext>().UseInMemoryDatabase("test").Options;

            using (GameDbContext context = new GameDbContext(options))
            {
                CardService cardService = new CardService(context);
                Card        card        = new Card()
                {
                    GameID = 1,
                    Suit   = Card.SuitType.Clubs,
                    Value  = Card.ValType.Ace
                };
                await cardService.CreateCard(card);

                var actual = await context.Cards.FirstOrDefaultAsync(c => c.Suit == card.Suit && c.Value == card.Value && c.GameID == card.GameID);

                Assert.Equal(card, actual);
            }
        }
예제 #12
0
        public ActionResult Create(CardCreate model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var service = new CardService();
            int id      = service.CreateCard(model);

            if (id != 0)
            {
                TempData["SaveResult"] = "Enter Values";
                return(RedirectToAction("Create", "CardProperty", new { cardId = id }));
            }
            ;

            ModelState.AddModelError("", "Card could not be created.");

            return(View(model));
        }
예제 #13
0
        public async void CanGetCard()
        {
            DbContextOptions <GameDbContext> options = new DbContextOptionsBuilder <GameDbContext>().UseInMemoryDatabase("test").Options;

            using (GameDbContext context = new GameDbContext(options))
            {
                CardService cardService = new CardService(context);
                Card        card        = new Card()
                {
                    GameID     = 3,
                    Suit       = Card.SuitType.Diamonds,
                    Value      = Card.ValType.Seven,
                    LocationID = 1,
                };
                await cardService.CreateCard(card);

                var expected = card;
                var actual   = await cardService.GetCard(card.Suit, card.Value, card.GameID);

                Assert.Equal(expected, actual);
            }
        }