~ev/uci-engine/skipped-integration-tests

« back to all changes in this revision

Viewing changes to webui/test_webui.html

  • Committer: Joe Talbott
  • Date: 2014-01-23 19:29:38 UTC
  • mto: (126.2.10 webui)
  • mto: This revision was merged to the branch mainline in revision 161.
  • Revision ID: joe.talbott@canonical.com-20140123192938-pdcv9cysfu8s5eeg
Add webui app

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<html>
 
2
  <head>
 
3
    <script type="text/javascript" src="http://yui.yahooapis.com/3.14.0/build/yui/yui.js"></script>
 
4
    <script type="text/javascript" src="webui.js"></script>
 
5
  </head>
 
6
 
 
7
  <body>
 
8
    <div id="table"></div>
 
9
    <script type="text/javascript">
 
10
    YUI().use('test', 'console', 'webui', function(Y) {
 
11
      // Test data
 
12
      var td_item = {
 
13
        id: 0,
 
14
        title: "blah",
 
15
        current_workflow_step: "New",
 
16
        status: "New",
 
17
        ticket_id: 0
 
18
      };
 
19
 
 
20
      var td_subticket = {
 
21
        artifact: [],
 
22
        assignee: "me@example.com",
 
23
        current_workflow_step: "New",
 
24
        id: 0,
 
25
        resource_uri: "/api/v1/blah",
 
26
        source_package_upload: {},
 
27
        status: "New"
 
28
      }
 
29
 
 
30
      var td_artifact_1 = {
 
31
        id: 0,
 
32
        name: "/tmp/somefile.tgz",
 
33
        reference: "http://example.com/somefile.tgz",
 
34
        resource_uri: "/api/v1/fullartifact/0/",
 
35
        type: "SPU"
 
36
      }
 
37
 
 
38
      var td_artifact_2 = {
 
39
        id: 1,
 
40
        name: "/tmp/someotherfile.tgz",
 
41
        reference: "http://example.com/someotherfile.tgz",
 
42
        resource_uri: "/api/v1/fullartifact/1/",
 
43
        type: "SPU"
 
44
      }
 
45
 
 
46
      var testcase = new Y.Test.Case({
 
47
        name: "WebUI tests",
 
48
        test_ticket_detail_element: function() {
 
49
          data = {
 
50
            id: 1,
 
51
            title: "blah blah",
 
52
            resource_uri: "http://example.com/ticket/1/",
 
53
            description: "blah blah blah blah",
 
54
            owner: "noone@example.com"
 
55
          };
 
56
 
 
57
          table = Y.webui.ticket_detail_element(data);
 
58
          Y.Assert.areNotEqual(undefined, table);
 
59
 
 
60
          rows = table.all('tr');
 
61
          Y.Assert.areEqual(2, rows.size()); // Title is in an <h3>
 
62
        },
 
63
        test_make_main_table: function() {
 
64
          Y.webui.make_main_table('#table');
 
65
 
 
66
          Y.Assert.isTrue(Y.webui.main_table !== undefined);
 
67
        },
 
68
        test_add_subticket: function() {
 
69
          Y.webui.make_main_table('#table');
 
70
          var selector = 'div.subticket';
 
71
 
 
72
          td_item['subticket'] = [td_subticket];
 
73
 
 
74
          Y.Assert.areEqual(0, Y.all(selector).size());
 
75
 
 
76
          var table = Y.webui.ticket_detail_element(td_item);
 
77
          Y.one("#table").replace(table);
 
78
          Y.Assert.areEqual(1, Y.all(selector).size());
 
79
        },
 
80
        test_basename: function() {
 
81
          var filename = "file.tgz";
 
82
          var full_name = "/home/nobody/" + filename;
 
83
          var name = Y.webui.basename(full_name);
 
84
 
 
85
          Y.Assert.areEqual(filename, name);
 
86
        },
 
87
        test_add_artifacts: function() {
 
88
          var data = [td_artifact_1, td_artifact_2];
 
89
 
 
90
          output = Y.webui.add_artifacts(data);
 
91
          Y.Assert.areEqual(2, output.all('a').size());
 
92
        },
 
93
        test_artifact_link: function() {
 
94
          var data = td_artifact_1;
 
95
          var ad = Y.webui.artifact_link(data);
 
96
          var name = Y.webui.basename(data['name']);
 
97
          Y.Assert.areEqual(Y.webui.basename(data['name']), name);
 
98
        },
 
99
        test_add_item: function() {
 
100
 
 
101
          Y.webui.make_main_table('#table');
 
102
 
 
103
          var previous_row_count = Y.webui.main_table.get('data').size();
 
104
 
 
105
          Y.webui.add_item(td_item);
 
106
 
 
107
          var current_row_count = Y.webui.main_table.get('data').size();
 
108
 
 
109
          Y.Assert.areEqual(previous_row_count + 1, current_row_count);
 
110
        },
 
111
        test_make_subticket: function() {
 
112
          var subticket = Y.webui.make_subticket(td_subticket);
 
113
          Y.Assert.isTrue(subticket.hasClass('subticket'));
 
114
          Y.Assert.areEqual(1, subticket.all('table').size());
 
115
          Y.Assert.areEqual(5, subticket.all('tr').size());
 
116
        },
 
117
        test_sp_upload: function() {
 
118
          var data = {
 
119
            id: 0,
 
120
            resource_uri: "/spu/0/",
 
121
            sourcepackage: {
 
122
              id: 1,
 
123
              name: "blah",
 
124
              resource_uri: "/sp/blah/1/"
 
125
            },
 
126
            version: "0.1-1"
 
127
          }
 
128
          var sp = Y.webui.sp_upload(data);
 
129
          var expected_text = data.sourcepackage.name + " " + data.version;
 
130
 
 
131
          Y.Assert.areEqual(expected_text, sp.getHTML());
 
132
        }
 
133
      });
 
134
 
 
135
      var yconsole = new Y.Console({
 
136
        newestOnTop: false
 
137
      });
 
138
 
 
139
      Y.Test.Runner.add(testcase);
 
140
      Y.Test.Runner.run();
 
141
    });
 
142
    </script>
 
143
  </body>
 
144
</html>