예제 #1
0
        public async Task Initialize()
        {
            ProxyMarketContext.Instance.IsDebug = false;
            String guestName = marketUsers.AddGuest();
            await userManagement.SignUp("founder", "123", null);

            await marketUsers.AddMember("founder", "123", guestName);

            guestName = marketUsers.AddGuest();
            await userManagement.SignUp("manager", "123", null);

            await marketUsers.AddMember("manager", "123", guestName);

            guestName = marketUsers.AddGuest();
            await userManagement.SignUp("owner", "123", null);

            await marketUsers.AddMember("owner", "123", guestName);

            Address    address = new Address("1", "1", "1", "1", "1");
            CreditCard card    = new CreditCard("1", "1", "1", "1", "1", "1");

            store = await market.CreateStore("testStore", "founder", card, address);

            await market.makeManager("manager", store.Id, "founder");

            await market.makeOwner("owner", store.Id, "founder");
        }
예제 #2
0
        public async Task MarketRulesTestsInit()
        {
            ProxyMarketContext.Instance.IsDebug = false;
            String guestName = marketUsers.AddGuest();
            await userManagement.SignUp("founder", "123", null);

            await marketUsers.AddMember("founder", "123", guestName);

            guestName = marketUsers.AddGuest();
            await userManagement.SignUp("manager", "123", null);

            await marketUsers.AddMember("manager", "123", guestName);

            Address    address = new Address("1", "1", "1", "1", "1");
            CreditCard card    = new CreditCard("1", "1", "1", "1", "1", "1");

            store = await marketStores.CreateStore("testStore", "founder", card, address);

            await marketStores.makeManager("manager", store.Id, "founder");

            product1 = new ProductData(new Guid(), "ProductName", 100, 100, 100, "CategoryName");
            User         u    = marketUsers.GetUserByUserName("founder");
            ShoppingCart cart = u.ShoppingCart;

            shoppingBasket = await cart.GetShoppingBasket(store);

            Result <Product> result = await MarketStores.Instance.AddProduct(product1, store.Id, "founder");

            product = result.Ret;
            await marketUsers.AddProductToCart("founder", result.Ret.Id, 10);
        }
예제 #3
0
        public async Task <StoreData> CreateStoreAsync
        (
            string name,
            string username,
            string cardNumber,
            string month,
            string year,
            string holderName,
            string cvv,
            string holderId,
            string state,
            string city,
            string street,
            string apartmentNum,
            string zip
        )
        {
            var   card    = new CreditCard(cardNumber, month, year, holderName, cvv, holderId);
            var   address = new Address(state, city, street, apartmentNum, zip);
            Store store   = await marketStores.CreateStore(name, username, card, address);

            if (store == null)
            {
                return(null);
            }
            return(new StoreData(store));
        }
        public async Task GetStoreHistoryWithPermission()
        {
            CreditCard  card        = new CreditCard("1", "1", "1", "1", "1", "1");
            Address     address     = new Address("1", "1", "1", "1", "1");
            Product     product     = new Product(new Guid(), 100, 100, 100);
            User        user        = new User("testUser");
            MemberState memberState = new MemberState(user.Username);

            user.ChangeState(memberState);
            MarketUsers  market       = MarketUsers.Instance;
            MarketStores marketStores = MarketStores.Instance;

            market.ActiveUsers.TryAdd(user.Username, user);
            Store store = await marketStores.CreateStore("storeTest", user.Username, card, address);

            store.UpdateProduct(product);
            await user.UpdateProductInShoppingBasket(store, product, 5);

            var v1 = await user.PurchaseShoppingCart(card, "0544444444", address);

            Assert.IsTrue(!v1.IsErr);
            ICollection <IHistory> storeHistory = await store.GetStoreHistory(user.Username);

            Assert.IsNotNull(storeHistory);
            Assert.AreEqual(1, storeHistory.Count);
        }
        public async Task Initialize()
        {
            String guestName = marketUsers.AddGuest();
            await userManagement.SignUp("founder", "123", null);

            await marketUsers.AddMember("founder", "123", guestName);

            guestName = marketUsers.AddGuest();
            await userManagement.SignUp("manager", "123", null);

            await marketUsers.AddMember("manager", "123", guestName);

            Address    address = new Address("1", "1", "1", "1", "1");
            CreditCard card    = new CreditCard("1", "1", "1", "1", "1", "1");

            store = await market.CreateStore("testStore", "founder", card, address);

            await market.makeManager("manager", store.Id, "founder");

            product1 = new ProductData(new Guid(), "1", 10, 10, 10, "c");
        }
예제 #6
0
        public async Task CreateStoreAndCheckFounder()
        {
            CreditCard  card        = new CreditCard("1", "1", "1", "1", "1", "1");
            Address     address     = new Address("1", "1", "1", "1", "1");
            User        user        = new User("testUser");
            MemberState memberState = new MemberState(user.Username);

            user.ChangeState(memberState);
            MarketStores market      = MarketStores.Instance;
            MarketUsers  marketUsers = MarketUsers.Instance;

            marketUsers.ActiveUsers.TryAdd(user.Username, user);
            Store store = await market.CreateStore("storeTest", user.Username, card, address);

            Assert.IsNotNull(store);
            Assert.AreEqual(store.Founder.Username, user.Username);
        }
예제 #7
0
        public async Task Initialize()
        {
            ProxyMarketContext.Instance.IsDebug = false;

            PublisherManagement.Instance.DeleteAll();
            publisherManagement = PublisherManagement.Instance;
            publisherManagement.SetTestMode(true);
            String guestName = marketUsers.AddGuest();
            await userManagement.SignUp("FounderTest1", "123", null);

            await marketUsers.AddMember("FounderTest1", "123", guestName);

            guestName = marketUsers.AddGuest();
            await userManagement.SignUp("ManagerTest1", "123", null);

            await marketUsers.AddMember("ManagerTest1", "123", guestName);

            guestName = marketUsers.AddGuest();
            await userManagement.SignUp("OwnerTest1", "123", null);

            await marketUsers.AddMember("OwnerTest1", "123", guestName);

            Address    address = new Address("1", "1", "1", "1", "1");
            CreditCard card    = new CreditCard("1", "1", "1", "1", "1", "1");

            store = await market.CreateStore("testStore", "FounderTest1", card, address);

            await market.makeOwner("OwnerTest1", store.Id, "FounderTest1");

            owner    = marketUsers.ActiveUsers.GetOrAdd("OwnerTest1", owner);
            customer = marketUsers.ActiveUsers.GetOrAdd("ManagerTest1", customer);

            dataproduct = new ProductData(new Guid(), "lala", 100, 100, 100, "cat");
            var shoppingCart     = new ShoppingCart(customer);
            Result <Product> res = await market.AddProduct(dataproduct, store.Id, "FounderTest1");

            product = res.Ret;
            await marketUsers.AddProductToCart(customer.Username, product.id, QUANTITY);
        }
        public async Task Initialize()
        {
            ProxyMarketContext.Instance.IsDebug = true;

            PublisherManagement.Instance.DeleteAll();
            marketUsers.CleanMarketUsers();
            publisherManagement = PublisherManagement.Instance;
            publisherManagement.SetTestMode(true);
            String guestName = marketUsers.AddGuest();
            await userManagement.SignUp("FounderTest1", "123", null);

            await marketUsers.AddMember("FounderTest1", "123", guestName);

            guestName = marketUsers.AddGuest();
            await userManagement.SignUp("ManagerTest1", "123", null);

            await marketUsers.AddMember("ManagerTest1", "123", guestName);

            guestName = marketUsers.AddGuest();
            await userManagement.SignUp("OwnerTest1", "123", null);

            await marketUsers.AddMember("OwnerTest1", "123", guestName);

            Address    address = new Address("1", "1", "1", "1", "1");
            CreditCard card    = new CreditCard("1", "1", "1", "1", "1", "1");

            store = await market.CreateStore("testStore", "FounderTest1", card, address);

            await market.makeOwner("OwnerTest1", store.Id, "FounderTest1");

            owner    = marketUsers.ActiveUsers.GetOrAdd("OwnerTest1", owner);
            customer = marketUsers.ActiveUsers.GetOrAdd("ManagerTest1", customer);
            product  = new Product(new Guid(), 100, 100, 100);
            var shoppingCart = new ShoppingCart(customer);
            await customer.UpdateProductInShoppingBasket(store, product, QUANTITY);

            store.UpdateProduct(product);
        }
        public async Task GetStoreEmptyHistoryPurchaseFailed()
        {
            CreditCard  card        = new CreditCard("1", "1", "1", "1", "1", "1");
            Address     address     = new Address("1", "1", "1", "1", "1");
            Product     product     = new Product(new Guid(), 100, 100, 100);
            User        user        = new User("testUser");
            MemberState memberState = new MemberState(user.Username);

            user.ChangeState(memberState);
            MarketUsers  market       = MarketUsers.Instance;
            MarketStores marketStores = MarketStores.Instance;

            market.ActiveUsers.TryAdd(user.Username, user);
            Store store = await marketStores.CreateStore("storeTest", user.Username, card, address);

            store.UpdateProduct(product);
            await user.UpdateProductInShoppingBasket(store, product, 5);

            Mock <ExternalPaymentSystem> paymentSystem = new Mock <ExternalPaymentSystem>();

            paymentSystem.Setup(p => p.CreatePaymentAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())).Returns(Task.FromResult("-1"));
            Transaction transaction = Transaction.Instance;

            transaction.PaymentAdapter.SetPaymentSystem(paymentSystem.Object);
            ICollection <IHistory> storeHistory = await store.GetStoreHistory(user.Username);

            Assert.IsNotNull(storeHistory);
            Assert.AreEqual(0, storeHistory.Count);
            var v1 = await user.PurchaseShoppingCart(card, "0544444444", address);

            Assert.IsFalse(!v1.IsErr);
            storeHistory = await store.GetStoreHistory(user.Username);

            Assert.IsNotNull(storeHistory);
            Assert.AreEqual(0, storeHistory.Count);
        }