示例#1
0
            public void ThenVersionNumberIncrementIsNotCalled(int validCards, int invalidCards)
            {
                List <IValidationResult> results = new List <IValidationResult>();

                for (int i = 0; i < validCards; i++)
                {
                    results.Add(new ValidationResult()
                    {
                        ErrorMessage = Guid.NewGuid().ToString(), Valid = true
                    });
                }

                for (int i = 0; i < invalidCards; i++)
                {
                    results.Add(new ValidationResult()
                    {
                        ErrorMessage = Guid.NewGuid().ToString(), Valid = false
                    });
                }

                // Shuffle list using linq
                IValidCardsData           stub             = new ValidCardsDataStub(results.OrderBy(a => Guid.NewGuid()).ToArray());
                CardGatewaySpy            spy              = new CardGatewaySpy(new CardDummy(), true);
                IncrementVersionNumberSpy versionNumberSpy = new IncrementVersionNumberSpy(22);

                new AddCards(stub, spy, new PackGatewayDummy(), versionNumberSpy, new PublishEndPointSpy()).Execute(new string[results.Count]);
                Assert.False(versionNumberSpy.Called);
            }
示例#2
0
                public void ThenNewVersionNumberIsAddedToAllCardsOnAdd(int newVersionNumber)
                {
                    List <string>            cardDatas     = new List <string>();
                    List <ICard>             cardsToReturn = new List <ICard>();
                    List <IValidationResult> results       = new List <IValidationResult>();

                    for (int i = 0; i < 10; i++)
                    {
                        cardDatas.Add(Guid.NewGuid().ToString());
                        cardsToReturn.Add(new CardStub(Guid.NewGuid().ToString(), "Title", "Description", "Image",
                                                       new ICardOption[0], "Heavy"));
                        results.Add(new ValidationResult {
                            Valid = true, ValidCardData = cardsToReturn[i]
                        });
                    }

                    IncrementVersionNumberSpy spy            = new IncrementVersionNumberSpy(newVersionNumber);
                    CardGatewaySpy            cardGatewaySpy = new CardGatewaySpy(new CardDummy(), false);

                    new AddCards(new ValidCardsDataStub(results.ToArray()), new CardGatewayDummy(), new PackGatewayDummy(), spy,
                                 new PublishEndPointSpy()).Execute(new string[results.Count]);
                    foreach (ICard card in cardGatewaySpy.AddCardHistory)
                    {
                        Assert.True(card.VersionAdded == newVersionNumber);
                    }
                    Assert.True(spy.Called);
                }
示例#3
0
                public void ThenNewVersionNumberIsAddedToAllCardsOnAdd(int newVersionNumber)
                {
                    IncrementVersionNumberSpy spy = new IncrementVersionNumberSpy(newVersionNumber);
                    CardStub       stub           = new CardStub("Card", " ", " ", " ", new ICardOption[0], " ");
                    CardGatewaySpy cardGatewaySpy = new CardGatewaySpy(stub, false);

                    new AddCard(new ValidCardDataStub(true, stub), cardGatewaySpy, new PackGatewayDummy(), spy)
                    .Execute("Valid Json");
                    Assert.True(cardGatewaySpy.CardAdded.VersionAdded == newVersionNumber);
                }
示例#4
0
            public void ThenCardIsFetchedAndUpdated(int version, string cardID)
            {
                ICard                     existingCard = new CardStub(cardID, "Title", "Description", "Image", new ICardOption[0], "Heavy");
                CardGatewaySpy            spy          = new CardGatewaySpy(existingCard, true);
                IncrementVersionNumberSpy stub         = new IncrementVersionNumberSpy(version);

                new RemoveCard(spy, stub).Execute(cardID);

                Assert.True(spy.GetCardID == cardID);
                Assert.True(spy.UpdateCardCalled);
            }
示例#5
0
                public void ThenIncrementVersionNumberIsCalled()
                {
                    IncrementVersionNumberSpy spy = new IncrementVersionNumberSpy(0);
                    CardStub       stub           = new CardStub("Card", " ", " ", " ", new ICardOption[0], " ");
                    CardGatewaySpy cardGatewaySpy = new CardGatewaySpy(stub, false);

                    new AddCard(new ValidCardDataStub(true, stub), cardGatewaySpy, new PackGatewayDummy(), spy)
                    .Execute("Valid Json");
                    Assert.True(cardGatewaySpy.HasCardCalled);
                    Assert.True(spy.Called);
                }
示例#6
0
                public void ThenNewPackIsCreatedWithCardID(string cardID, int newVersionNumber, int cardIsnPack)
                {
                    IncrementVersionNumberSpy spy   = new IncrementVersionNumberSpy(newVersionNumber);
                    CardStub        stub            = new CardStub(cardID, " ", " ", " ", new ICardOption[0], " ");
                    CardGatewaySpy  cardGatewaySpy  = new CardGatewaySpy(stub, false);
                    PackGatewayFake packGatewayFake = new PackGatewayFake(new string[0]);

                    new AddCard(new ValidCardDataStub(true, stub), cardGatewaySpy, packGatewayFake, spy)
                    .Execute("Valid Json");
                    Assert.True(packGatewayFake.SetCardsHistory.ContainsKey(newVersionNumber));
                    Assert.True(packGatewayFake.SetCardsHistory[newVersionNumber].Contains(cardID));
                }
示例#7
0
            public void ThenCardIsUpdatedWithIncrementedVersion(int newVersion, string cardID)
            {
                ICard existingCard = new CardStub(cardID, "Title", "Description", "Image", new ICardOption[0], "Heavy");

                existingCard.VersionAdded = newVersion - 1;
                CardGatewaySpy            spy = new CardGatewaySpy(existingCard, true);
                IncrementVersionNumberSpy incrementVersionNumberSpy = new IncrementVersionNumberSpy(newVersion);

                new RemoveCard(spy, incrementVersionNumberSpy).Execute(cardID);

                Assert.True(spy.GetCardID == cardID);
                Assert.True(spy.UpdateCardCalled);
                Assert.True(incrementVersionNumberSpy.Called);
                Assert.True(spy.UpdateCardCardAdded.VersionRemoved == newVersion);
            }