public void TestInitialize() { DBStore.getInstance().DBinit(); s = new Store("store", "store"); su = new SubscribedUser("u", "u", new ShoppingBasket()); sr = new StoreOwner(null, su, s); }
public void createStoreTest() { UserState state = new Guest(); SubscribedUser sub = new SubscribedUser("dilan", "aaa", new ShoppingBasket()); Assert.IsNull(state.createStore("Wallmart", "sells everything", sub)); }
public void getPurchaseHistoryTest() { UserState state = new Guest(); SubscribedUser sub = new SubscribedUser("Benny", "BENNY", new ShoppingBasket()); Assert.IsTrue(Equals("ERROR: not a subscribed user", state.getPurchaseHistory(sub))); }
public void addManager(int storeid, string username, bool editProduct, bool editDiscount, bool editPolicy, Session session) { SubscribedUser toAdd = DBSubscribedUser.getInstance().getSubscribedUser(username); if (toAdd == null) { throw new DoesntExistException("no such username"); } Store store = DBStore.getInstance().getStore(storeid); if (store == null) { throw new DoesntExistException("no such store"); } StoreRole sr = store.getStoreRole(session.getSubscribedUser()); if (sr.getStore() != store) { throw new RoleException("this user can't appoint to this store"); } Permissions permissions = new Permissions(editProduct, editDiscount, editPolicy); sr.addManager(toAdd, permissions); }
public void TestInitialize() { MarketSystem.initTestWitOutRead(); s = new Store("store", "store"); DBStore.getInstance().addStore(s); su = new SubscribedUser("u", "u", new ShoppingBasket()); sr = new StoreOwner(null, su, s); }
public async override Task UpdateLoop() { foreach (var user in SubscribedUsers) { user.channels.Clear(); } foreach (var boundUser in Shinoa.DatabaseConnection.Table <TwitterBinding>()) { if (SubscribedUsers.Any(item => item.username == boundUser.TwitterUserName)) { SubscribedUsers.Find(item => item.username == boundUser.TwitterUserName).channels.Add( Shinoa.DiscordClient.GetChannel(ulong.Parse(boundUser.ChannelId)) as ITextChannel); } else { var newUser = new SubscribedUser(); newUser.username = boundUser.TwitterUserName; newUser.channels.Add(Shinoa.DiscordClient.GetChannel(ulong.Parse(boundUser.ChannelId)) as ITextChannel); this.SubscribedUsers.Add(newUser); } } foreach (var user in SubscribedUsers) { var newestTweet = GetNewestTweet(user.username); if (newestTweet != null) { if (user.lastTweetIds.Count == 0) { user.lastTweetIds.Enqueue(newestTweet.id); } else if (!user.lastTweetIds.Contains(newestTweet.id)) { if (newestTweet.isRetweet && !user.retweetsEnabled) { continue; } user.lastTweetIds.Enqueue(newestTweet.id); foreach (var channel in user.channels) { await channel.SendEmbedAsync(newestTweet.GetEmbed()); } } } while (user.lastTweetIds.Count > 5) { user.lastTweetIds.Dequeue(); } } }
public void getPurchaseHistoryTest() { try { UserState state = new Guest(); SubscribedUser sub = new SubscribedUser("Benny", "BENNY", new ShoppingBasket()); state.getPurchaseHistory(sub); Assert.Fail(); } catch (UserStateException) { Assert.IsTrue(true); } }
public void createStoreTest() { try { UserState state = new Guest(); SubscribedUser sub = new SubscribedUser("dilan", "aaa", new ShoppingBasket()); state.createStore("Wallmart", "sells everything", sub); Assert.Fail(); } catch (UserStateException) { Assert.IsTrue(true); } }
public void removeProduct(int productid, Session session) { Product product = DBProduct.getInstance().getProductByID(productid); if (product == null) { throw new DoesntExistException("no such username"); } SubscribedUser user = session.getSubscribedUser(); StoreRole sr = DBStore.getInstance().getStoreRole(product.getStore(), user); sr.removeProduct(product); }
public void decFromProductQuantity(int productid, int amount, Session session) { Product product = DBProduct.getInstance().getProductByID(productid); if (product == null) { throw new DoesntExistException("no such username"); } SubscribedUser user = session.getSubscribedUser(); StoreRole sr = DBStore.getInstance().getStoreRole(product.getStore(), user); sr.decFromProductQuantity(product, amount); }
public void registerTest() { DBSubscribedUser dbsubscribedUser = DBSubscribedUser.getInstance(); SubscribedUser sub3 = new SubscribedUser("Benny", "aaaa", new ShoppingBasket()); dbsubscribedUser.register(sub3); Session session = new Session(); UserState state = session.getState(); Assert.IsTrue(Equals(state.register("Benny", "aaaa", session), "ERROR: username already exists")); Assert.IsTrue(Equals(state.register("Viva", "Diva", session), "")); Assert.IsTrue(state is Guest); dbsubscribedUser.cleanDB(); }
public void setProductDiscount(int productid, int discount, Session session) { Product product = DBProduct.getInstance().getProductByID(productid); if (product == null) { throw new DoesntExistException("no such username"); } SubscribedUser user = session.getSubscribedUser(); DBStore storeDB = DBStore.getInstance(); StoreRole sr = storeDB.getStoreRole(product.getStore(), user); //??????????????????????????????/ //sr.setProductDiscount(product, discount); }
public void logoutTest() { DBSubscribedUser dbsubscribedUser = DBSubscribedUser.getInstance(); SubscribedUser sub2 = new SubscribedUser("Gal", "Gadot", new ShoppingBasket()); dbsubscribedUser.register(sub2); Session session = new Session(); UserState state = session.getState(); state.login("Gal", "Gadot", session); SubscribedUser user = session.getSubscribedUser(); session.getState().logout(user, session); Assert.IsTrue(session.getState() is Guest); Assert.IsNull(dbsubscribedUser.getloggedInUser("Gal")); dbsubscribedUser.cleanDB(); }
public void loginTest1() { DBSubscribedUser dbsubscribedUser = DBSubscribedUser.getInstance(); SubscribedUser sub1 = new SubscribedUser("Danny", dbsubscribedUser.encryptPassword("Shovevani"), new ShoppingBasket()); dbsubscribedUser.register(sub1); Session session = new Session(); UserState state = session.getState(); try { state.login("bob", "dilan", session); Assert.Fail(); } catch (LoginException) { Assert.IsTrue(true); } }
public void loginTest() { DBSubscribedUser dbsubscribedUser = DBSubscribedUser.getInstance(); SubscribedUser sub1 = new SubscribedUser("Danny", dbsubscribedUser.encryptPassword("Shovevani"), new ShoppingBasket()); dbsubscribedUser.register(sub1); Session session = new Session(); UserState state = session.getState(); Assert.IsTrue(Equals(state.login("bob", "dilan", session), "ERROR: username does not exist")); Assert.IsTrue(Equals(state.login("Danny", "Shovevani", session), "")); Assert.IsTrue(session.getState() is LoggedIn); Session session2 = new Session(); UserState state2 = session2.getState(); Assert.IsTrue(Equals(state.login("Danny", "aaaa", session2), "ERROR: password incorrect")); dbsubscribedUser.cleanDB(); }
public void registerTest1() { DBSubscribedUser dbsubscribedUser = DBSubscribedUser.getInstance(); SubscribedUser sub3 = new SubscribedUser("Benny", "aaaa", new ShoppingBasket()); dbsubscribedUser.register(sub3); Session session = new Session(); UserState state = session.getState(); try { state.register("Benny", "aaaa", session); Assert.Fail(); } catch (RegisterException) { Assert.IsTrue(state is Guest); } }
public void addOwner(int storeid, string username, Session session) { SubscribedUser toAdd = DBSubscribedUser.getInstance().getSubscribedUser(username); if (toAdd == null) { throw new DoesntExistException("no such username"); } Store store = DBStore.getInstance().getStore(storeid); if (store == null) { throw new DoesntExistException("no such store"); } StoreRole sr = store.getStoreRole(session.getSubscribedUser()); if (sr.getStore() != store) { throw new RoleException("this user can't appoint to this store"); } sr.addOwner(toAdd); }
public void removeRole(int storeid, string username, Session session) { SubscribedUser toRemove = DBSubscribedUser.getInstance().getSubscribedUser(username); if (toRemove == null) { throw new DoesntExistException("no such username"); } Store store = DBStore.getInstance().getStore(storeid); if (store == null) { throw new DoesntExistException("no such store"); } StoreRole sr = store.getStoreRole(session.getSubscribedUser()); if (sr.getStore() != store) { throw new RoleException("this user can't remove roles from this store"); } sr.remove(toRemove); }
public void purchaseTest() { userService = UserService.getInstance(); session = userService.startSession(); userService.register(session, "christina", "2222"); userService.login(session, "christina", "2222"); SubscribedUser user = session.getSubscribedUser(); Store store1 = userService.createStore(session, "Zoo Land", "pets"); Product product1 = storeService.addProduct("dogs", "big dogs", 80, 2, 4, store1, session); Product product2 = storeService.addProduct("cats", "grey cats", 110, 5, 10, store1, session); Store store2 = userService.createStore(session, "Shufersal", "food"); Product product3 = storeService.addProduct("milk", "3%", 65, 2, 1, store2, session); Product product4 = storeService.addProduct("water", "blue water", 70, 4, 4, store2, session); userService.addToShoppingBasket(product1, 2, session); userService.addToShoppingBasket(product2, 3, session); userService.addToShoppingBasket(product3, 1, session); userService.addToShoppingBasket(product4, 3, session); Assert.IsTrue(Equals(userService.purchaseBasket(session), "")); Assert.IsTrue(product1.getQuantityLeft() == 2); Assert.IsTrue(product2.getQuantityLeft() == 7); Assert.IsTrue(product3.getQuantityLeft() == 0); Assert.IsTrue(product4.getQuantityLeft() == 1); session = userService.startSession(); userService.addToShoppingBasket(product1, 2, session); Assert.IsTrue(Equals(userService.purchaseBasket(session), "")); Assert.IsTrue(product1.getQuantityLeft() == 0); Assert.IsFalse(Equals(userService.addToShoppingBasket(product2, -1, session), "")); userService.addToShoppingBasket(product1, 2, session); userService.addToShoppingBasket(product2, 4, session); Assert.IsFalse(Equals(userService.purchaseBasket(session), "")); }
public async Task <IActionResult> AddEmail([FromBody] string email) { if (!ModelState.IsValid || string.IsNullOrWhiteSpace(email)) { return(StatusCode(400)); } var dbSubscribedUser = await _subscribedUserService.GetSubscribedUserByEmail(email); if (dbSubscribedUser != null) { return(Json(new { success = false, responseText = Resources.Resources.EmailAlreadyRegistered })); } var subscribedUser = new SubscribedUser() { Email = email }; await _subscribedUserService.AddSubscribedUserAsync(subscribedUser); return(Json(new { success = true })); }
public void removeSubscribedUserTest() { Session sessionOwner = userService.startSession(); Session sessionManager = userService.startSession(); SubscribedUser subscribedToDelete = sessionManager.getSubscribedUser(); userService.register(sessionOwner, "bob", "theOwner"); userService.register(sessionManager, "rob", "theManager"); userService.login(sessionOwner, "bob", "theOwner"); Store store1 = userService.createStore(sessionOwner, "Zara", "clothes"); Store store2 = userService.createStore(sessionOwner, "Urban", "clothes"); StoreRole owner1 = sessionOwner.getSubscribedUser().getStoreRole(store1); owner1.addManager(sessionManager.getSubscribedUser(), new Permissions(true, true, true)); StoreRole owner2 = sessionOwner.getSubscribedUser().getStoreRole(store2); owner2.addOwner(sessionManager.getSubscribedUser()); Session sessionAdmin = userService.startSession(); Assert.AreEqual(userService.login(sessionAdmin, "admin", "1234"), ""); Assert.IsTrue(Equals(userService.removeUser(sessionAdmin, "rob"), "")); Assert.IsTrue(sessionManager.getState() is Guest); Assert.IsTrue(store1.getStoreRole(subscribedToDelete) == null); Assert.IsTrue(store2.getStoreRole(subscribedToDelete) == null); Assert.IsTrue(sessionManager.getSubscribedUser() == null); //user does not exist anymore, login fails Assert.AreNotEqual(userService.login(sessionAdmin, "rob", "theManager"), ""); //alternatives Assert.IsFalse(Equals(userService.removeUser(sessionAdmin, "haim"), "")); Assert.IsFalse(Equals(userService.removeUser(sessionAdmin, "admin"), "")); Assert.IsFalse(Equals(userService.removeUser(sessionManager, "rob"), "")); Assert.IsFalse(Equals(userService.removeUser(sessionOwner, "rob"), "")); }
public void createStoreBySubscribedUserTest() { UserService userService = UserService.getInstance(); session = userService.startSession(); userService.register(session, "anna", "banana"); userService.login(session, "anna", "banana"); SubscribedUser user = session.getSubscribedUser(); Store store = userService.createStore(session, "Apple", "apples"); List <StoreRole> roles = store.getRoles(); Assert.IsTrue(roles.Count == 1); StoreRole role = roles[0]; Assert.IsTrue(role is StoreOwner); Assert.IsTrue(Equals(role.getUser(), user)); List <StoreRole> userRoles = user.getStoreRoles(); Assert.IsTrue(userRoles.Contains(role)); Assert.AreEqual(userService.createStore(null, "", ""), null); }
public async Task AddSubscribedUserAsync(SubscribedUser subscribedUser) { await _garvanContext.SubscribedUsers.AddAsync(subscribedUser); await _garvanContext.SaveChangesAsync(); }