private void closStoreByOwnerLiveNotification() { try { myInit(); //store owener initialize bool subscribe = storeOwnerUser.subscribeAsObserver(ownerObserver); Assert.IsTrue(subscribe, "can't subscribe"); //make sure no messages received on conncet bool noMessages = ownerObserver.msg.Count == 0; Assert.IsTrue(noMessages, "have messages on recieve"); //admin initilize //admin test bool adminSubscribe = adminUserL.subscribeAsObserver(adminObserver); Assert.IsTrue(adminSubscribe, "can't subscribe admin"); bool noMessagesAdmin = ownerObserver.msg.Count == 0; Assert.IsTrue(noMessagesAdmin, "have messages on subscribe for admin"); //close store bool closeAns = storeOwnerUser.closeStore(storeId); Assert.IsTrue(closeAns, "can't close store"); //check observers bool hasMessages = ownerObserver.msg.Count == 1; Assert.IsTrue(hasMessages, "didn't recieve message on close"); bool adminMsg = adminObserver.msg.Count != 0; Assert.IsTrue(adminMsg, "admin didn't reveive any messages"); } finally { myCleanUp(); } }
private void closeStoreByAdminLiveNotification() { testObserverAcceptence managerObserver = null; LoginProxy manager = null; try { myInit(); bool subscribe1 = storeOwnerUser.subscribeAsObserver(ownerObserver); Assert.IsTrue(subscribe1, "can't subscribe"); //add manager addTestStoreManager1ToSystem(); manager = new LoginProxy(); //sign in and subscribe observer bool login = manager.login(getStoreManager1(), password) == LoginProxy.successMsg; Assert.IsTrue(login, "can't login manager"); managerObserver = new testObserverAcceptence(); bool subscribe2 = storeOwnerUser.subscribeAsObserver(managerObserver); Assert.IsTrue(subscribe2, "can't subscribe manger as observer"); //close store as admin LoginProxy admin = new LoginProxy(); bool adminLogin = admin.login("Admin", "Admin") == LoginProxy.successMsg; Assert.IsTrue(adminLogin, "can't login Admin"); admin.closeStore(storeId); //TODO fix fails because admin can't close sotres bool hasMessages1 = ownerObserver.msg.Count == 1; Assert.IsTrue(hasMessages1, "owner didn't recieve message on close"); bool hasMessages2 = managerObserver.msg.Count == 1; Assert.IsTrue(hasMessages2, "admin didn't recieve message on close"); } finally { if (managerObserver != null & manager != null) { manager.unSubscribeAsObserver(managerObserver); } myCleanUp(); } }
private void closeStoreHandler(JObject msgObj, string message) { JsonResponse response; int requestId = (int)msgObj["id"]; int storeId = (int)msgObj["data"]; try { response = user.closeStore(storeId) ? JsonResponse.generateActionSucces(requestId) : JsonResponse.generateActionError(requestId, "failed to close store"); } catch (WorkShopDbException dbExc) { response = JsonResponse.generateActionError(requestId, "DB is down please try again in few minutes\n" + dbExc.Message); } catch (Exception e) { response = JsonResponse.generateActionError(requestId, e.Message); } sendMyselfAMessage(JsonHandler.SerializeObject(response)); }