jobsubSpec.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. describe("Designs", function(){
  2. var viewModel;
  3. function getSampleDesign(id, name, node_type, is_shared, is_trashed, is_editable){
  4. return {
  5. "is_shared": is_shared,
  6. "node_type": node_type,
  7. "last_modified": 1366678126.0,
  8. "name": name,
  9. "owner": "hdfs",
  10. "editable": is_editable,
  11. "id": id,
  12. "is_trashed": is_trashed,
  13. "description": ""
  14. };
  15. }
  16. var models = [
  17. getSampleDesign(1, 'test1', 'mapreduce', true, false, true),
  18. getSampleDesign(2, 'test2', 'java', true, false, true),
  19. getSampleDesign(3, 'test3', 'shell', true, false, true),
  20. ];
  21. beforeEach(function(){
  22. viewModel = new Designs({models: models});
  23. ko.applyBindings(viewModel);
  24. });
  25. describe("When clicking select all", function(){
  26. it("should select all designs and deselect them all", function(){
  27. viewModel.selectAll();
  28. expect(viewModel.selectedDesignObjects().length).toEqual(viewModel.designs().length);
  29. viewModel.deselectAll();
  30. expect(viewModel.selectedDesignObjects().length).toEqual(0);
  31. viewModel.toggleSelectAll();
  32. expect(viewModel.selectedDesignObjects().length).toEqual(viewModel.designs().length);
  33. viewModel.toggleSelectAll();
  34. expect(viewModel.selectedDesignObjects().length).toEqual(0);
  35. });
  36. });
  37. describe("When selecting a design", function(){
  38. it("should return a selectedDesign", function(){
  39. viewModel.designs()[0].selected(true);
  40. expect(viewModel.selectedDesign().name).toEqual(viewModel.designs()[0].design().name);
  41. });
  42. });
  43. });