Advertisement
Guest User

Untitled

a guest
Jul 13th, 2016
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.50 KB | None | 0 0
  1.  
  2. var useSearch = function(searchText)
  3. {
  4. var tmp1 = element(by.model('$root.searchQuery'));
  5.  
  6. tmp1.sendKeys(searchText);
  7.  
  8. //tmp1.sendKeys(protractor.Key.ENTER);
  9.  
  10. }
  11.  
  12.  
  13. var uploadFile = function()
  14. {
  15.  
  16.  
  17. var path = require('path');
  18. var fileToUpload = 'C:/Users/Dame/Desktop/123.png';
  19. var absolutePath = path.resolve(fileToUpload);
  20.  
  21. var input = element(by.css('input[type="file"]'));
  22.  
  23. input.sendKeys(absolutePath);
  24.  
  25. element(by.css('[ng-click="crop()"]')).click();
  26.  
  27. }
  28.  
  29.  
  30. mainPageItem = function(index)
  31. {
  32.  
  33. element.all(by.repeater('slide in slidesTitle() track by $index')).get(index).click().then(function(){
  34.  
  35. if(index === 0)
  36. console.log('\n---recipes---');
  37.  
  38. if(index === 1)
  39. console.log('\n---collections---');
  40.  
  41. if(index === 2)
  42. console.log('\n---profiles---');
  43.  
  44. });
  45.  
  46. }
  47. ////////////////////////////////////////////////////////////////////////////////
  48.  
  49. var site_functions = function()
  50. {
  51.  
  52.  
  53.  
  54.  
  55. this.getSite = function()
  56. {
  57.  
  58. browser.get('https://www.hoorray-test-platform.com/');
  59.  
  60.  
  61. expect(browser.getTitle()).toEqual('MyGreatRecipes - CREATE YOUR #1 RECIPE COLLECTION!');
  62.  
  63. }
  64.  
  65.  
  66. this.logIn = function(uName,pass)
  67. {
  68.  
  69. element(by.css('[ng-click="showLogIn($event)"]')).click();
  70.  
  71. element.all(by.repeater('item in moreMenu')).get(0).click();
  72.  
  73. $('#email_field').click().sendKeys(uName);
  74.  
  75. $('#password_field').click().sendKeys(pass);
  76.  
  77. element(by.buttonText('LOG IN')).click();
  78.  
  79. browser.waitForAngular();
  80.  
  81. browser.driver.isElementPresent(by.css('[ng-click="navigateShoppingList($event)"]')).then(function(result)
  82. {
  83. if(result){
  84. console.log('\n---Logged in!---');
  85.  
  86. }
  87.  
  88. else{
  89. console.log('Didnt log in exiting');
  90. var tmp = new site_functions();
  91. tmp.takeShot();
  92. }
  93.  
  94. });
  95.  
  96. }
  97.  
  98.  
  99. this.useSearch = function(searchText)
  100. {
  101. useSearch(searchText);
  102.  
  103. }
  104.  
  105.  
  106.  
  107. this.mainPageItem = function(index)
  108. {
  109.  
  110. mainPageItem(index);
  111.  
  112. }
  113.  
  114.  
  115. this.openRecipe = function(index)
  116. {
  117.  
  118. element.all(by.repeater('recipe in group track by recipe.indexKey')).get(index).click().then(function(){
  119.  
  120. console.log('Recipe opened!')
  121. });
  122.  
  123. }
  124.  
  125. this.browseRecipe = function()
  126. {
  127. // element(by.css('[ng-click="onLikeTap()"]')).click()
  128.  
  129.  
  130.  
  131. }
  132.  
  133.  
  134. this.openCollection = function(index)
  135. {
  136.  
  137. element.all(by.repeater('collection in group track by collection.indexKey')).get(index).click().then(function(){
  138.  
  139. console.log('Collection opened!')
  140. });
  141.  
  142. }
  143.  
  144.  
  145.  
  146. this.openUser = function(index)
  147. {
  148.  
  149. element.all(by.repeater('user in people track by user.indexKey')).get(index).click().then(function(){
  150.  
  151. console.log('User opened!')
  152. });
  153.  
  154. }
  155.  
  156. this.getNotifications = function()
  157. {
  158.  
  159. element(by.css('[ng-click="navigateNotifications($event)"]')).click();
  160.  
  161.  
  162.  
  163. }
  164.  
  165.  
  166. this.goToProfile = function()
  167. {
  168. element(by.css('[ng-click="showProfileActions($event)"]')).click();
  169.  
  170. element.all(by.repeater('item in moreMenu')).get(0).click();
  171.  
  172. element(by.css('[ng-click="editProfile($event) && $event.stopPropagation()"]')).isDisplayed().then(function(){
  173.  
  174. console.log('\n---profile---');
  175.  
  176. });
  177.  
  178.  
  179. }
  180.  
  181.  
  182. this.browseProfile = function(index)
  183. {
  184.  
  185. element.all(by.cssContainingText('.row','Collections')).click();
  186.  
  187.  
  188. }
  189.  
  190.  
  191.  
  192. this.getMainPageAndRefresh = function()
  193. {
  194.  
  195. browser.get('https://www.hoorray-test-platform.com');
  196.  
  197. browser.refresh();
  198.  
  199. }
  200.  
  201.  
  202. this.goToTimeline = function()
  203. {
  204.  
  205.  
  206. element(by.css('[ng-click="goTimeline()"]')).click();
  207.  
  208. element.all(by.repeater('item in timeline track by item.indexKey')).get(0).isDisplayed().then(function(){
  209.  
  210. console.log('\n---timeline---');
  211. });
  212.  
  213.  
  214.  
  215.  
  216.  
  217. }
  218.  
  219.  
  220. this.createPostTimeline = function()
  221. {
  222.  
  223. element(by.css('[ng-click="createPost()"]')).click();
  224.  
  225. }
  226.  
  227.  
  228. this.openLegal = function(index)
  229. {
  230.  
  231. element(by.css('[ng-click="showMore($event)"]')).click();
  232.  
  233. if(index === 2)
  234. {
  235. element.all(by.repeater('item in moreMenu')).get(index).click().then(function(){
  236.  
  237. element(by.css('[ng-click="isMobile ? back() : close()"]')).click();
  238.  
  239. });
  240.  
  241. }
  242.  
  243. else
  244. element.all(by.repeater('item in moreMenu')).get(index).click();
  245.  
  246. }
  247.  
  248.  
  249.  
  250.  
  251.  
  252. this.createPost = function(recipeName)
  253. {
  254.  
  255. element(by.css('#t_createButton')).click();
  256.  
  257. browser.sleep(1000);
  258.  
  259. $('#t_createPost').click();
  260.  
  261. uploadFile();
  262.  
  263. element(by.model('post.text')).sendKeys(recipeName);
  264.  
  265. element(by.css('[ng-click="action()"]')).click().then(function(){
  266.  
  267. browser.waitForAngular().then(function(){
  268.  
  269. console.log('\nPost created!');
  270.  
  271. });
  272.  
  273. expect($('#t_createButton').isDisplayed()).toBe(true);
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281. });
  282.  
  283.  
  284.  
  285. }
  286.  
  287.  
  288. this.createRecipe = function(name,description,step,numStep,ingName,numIngr,addToCollections,share)
  289. {
  290. element(by.css('#t_createButton')).click();
  291.  
  292. browser.sleep(1000);
  293.  
  294. element(by.css('#t_createRecipe')).click();
  295.  
  296. uploadFile();
  297.  
  298. element(by.model('info.title')).sendKeys(name);
  299.  
  300. element(by.model('info.description')).sendKeys(description);
  301.  
  302.  
  303. for(var i = 0; i <= numIngr; i++)
  304. {
  305. element.all(by.repeater('ingredient in ingredients')).get(i).element(by.model('ingredient.ingredientOverrideName')).sendKeys(ingName + ' ' + (i+1));
  306.  
  307. if(numIngr === i)
  308. numIngr =0;
  309.  
  310.  
  311. if(numIngr > i)
  312. element(by.css('[ng-click="addIngredient()"]')).click();
  313.  
  314.  
  315.  
  316.  
  317. }
  318.  
  319.  
  320. for(var i = 0; i <= numStep; i++)
  321. {
  322. element.all(by.repeater('step in steps')).get(i).element(by.model('step.description')).sendKeys(step + ' ' + (i+1));
  323.  
  324. if(numStep === i)
  325. numStep =0;
  326.  
  327. if(numStep > i)
  328. element(by.css('[ng-click="addStep()"]')).click();
  329.  
  330.  
  331.  
  332.  
  333. }
  334. if(addToCollections){
  335. $('#t_addToCollections').click();
  336.  
  337. element.all(by.repeater('item in collections')).get(1).click();
  338.  
  339. element(by.css('[ng-click="closePopup()"]')).click();
  340.  
  341.  
  342. }
  343.  
  344. element(by.css('[ng-click="saveRecipeDetails()"]')).click();
  345.  
  346.  
  347. if(!share){
  348. element(by.css('#t_cancelShare')).click().then(function(){
  349.  
  350. console.log('\nRecipe Created')
  351.  
  352. });
  353. }
  354.  
  355. if(share)
  356. {
  357. element(by.css('[ng-click="action()"]')).click().then(function(){
  358.  
  359. console.log('\nRecipe Created');
  360.  
  361. });
  362. }
  363.  
  364.  
  365.  
  366.  
  367. }
  368.  
  369.  
  370. this.deleteRecipe = function(recipeName)
  371. {
  372. useSearch(recipeName);
  373.  
  374. element.all(by.repeater('recipe in group track by recipe.indexKey')).get(0).click();
  375.  
  376. element(by.css('[ng-click="deleteRecipe()"]')).click();
  377.  
  378. element.all(by.repeater('button in buttons')).get(1).click();
  379.  
  380. element.all(by.repeater('button in buttons')).get(0).click();
  381.  
  382. browser.refresh();
  383.  
  384. //expect(element(by.cssContainingText('#t_recipes','zdameeee')).isPresent()).toBeFalsy();
  385.  
  386. }
  387.  
  388.  
  389.  
  390. this.createCollection = function(title,description)
  391. {
  392.  
  393. element(by.css('#t_createButton')).click();
  394.  
  395. browser.sleep(1000);
  396.  
  397. element(by.css('#t_createCollection')).click();
  398.  
  399. uploadFile();
  400.  
  401. element(by.model('model.title')).sendKeys(title);
  402.  
  403. element(by.model('model.description')).sendKeys(description);
  404.  
  405. element(by.css('[ng-click="save()"]')).click();
  406.  
  407. element.all(by.repeater('button in buttons')).get(0).click().then(function(){
  408.  
  409. console.log('Collection created');
  410.  
  411. });
  412.  
  413. }
  414.  
  415.  
  416. this.deleteCollection = function(collectionName)
  417. {
  418. mainPageItem(1);
  419.  
  420. useSearch(collectionName);
  421.  
  422. browser.sleep(5000);
  423.  
  424. element.all(by.repeater('collection in group track by collection.indexKey')).get(0).click();
  425.  
  426. element(by.css('[ng-click="onRemoveTap()"]')).click();
  427.  
  428. element.all(by.repeater('button in buttons')).get(1).click();
  429.  
  430. element.all(by.repeater('button in buttons')).get(0).click().then(function(){
  431.  
  432. console.log('\nCollection deleted');
  433.  
  434. });
  435.  
  436.  
  437.  
  438. }
  439.  
  440. this.logOut = function()
  441. {
  442.  
  443.  
  444.  
  445. element(by.css('[ng-click="showProfileActions($event)"]')).click();
  446.  
  447. element.all(by.repeater('item in moreMenu')).get(1).click().then(function(){
  448.  
  449. browser.driver.isElementPresent(by.css('.home-header-text')).then(function(){
  450.  
  451. console.log('\n---Logged out---');
  452.  
  453. });
  454.  
  455.  
  456. });
  457.  
  458. }
  459.  
  460.  
  461. }
  462.  
  463.  
  464. module.exports = new site_functions();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement