diff --git a/app/views/clients/_account.html.erb b/app/views/clients/_account.html.erb new file mode 100644 index 000000000..4ce6f7728 --- /dev/null +++ b/app/views/clients/_account.html.erb @@ -0,0 +1,97 @@ + +
+

Account Settings

+
+

Identity

+
+ Update +
+
+

Profile

+
+ Update +
+
+ Close +
+
+ + + + +
+
+
+ Identity +
+ +
+
+ +

Leave blank to leave unchanged

+
+
+ +
+
+ + +
+
+
+
+ + +
+
+
+ Profile +
+ +
+
+ +
+
+
+
+ +

Limit of 5

+
+
+
+ + +
+
+
+
+ + diff --git a/app/views/clients/_bands.html.erb b/app/views/clients/_bands.html.erb new file mode 100644 index 000000000..4fc571654 --- /dev/null +++ b/app/views/clients/_bands.html.erb @@ -0,0 +1,6 @@ + +
+

Bands

+

TODO

+

Home

+
diff --git a/app/views/clients/_createSession.html.erb b/app/views/clients/_createSession.html.erb new file mode 100644 index 000000000..32dcd57f5 --- /dev/null +++ b/app/views/clients/_createSession.html.erb @@ -0,0 +1,251 @@ + +
+ +
+
+
+ Unstyled and Lots of things omitted + +
+
Musician Access + + +
+
+ +
+ + +
+ +
+ +
+ +
+ + +
+ +
+
+
+ +
+
+ + + +
+
+ +
+
+ + + + + + + + + +
+ +
+

Configure your instruments, headphones or speakers, and voice chat settings. Then play your instrument and sing or speak into your microphone, and ensure you hear everything correctly before entering the session.

+
+ Audio Settings +
+ Instrument 1 + + + + + + + +
+
+
+ Headphone/Speaker Settings + + + +
+
+ Voice Chat Settings + + + +
+ +
+
diff --git a/app/views/clients/_findSession.html.erb b/app/views/clients/_findSession.html.erb new file mode 100644 index 000000000..e5696f6cb --- /dev/null +++ b/app/views/clients/_findSession.html.erb @@ -0,0 +1,22 @@ + +
+

Find a Session

+

Home

+ + + + + + + + +
MembersNameDelete
+
+ + diff --git a/app/views/clients/_footer.html.erb b/app/views/clients/_footer.html.erb new file mode 100644 index 000000000..2c4dc60cb --- /dev/null +++ b/app/views/clients/_footer.html.erb @@ -0,0 +1,11 @@ + + diff --git a/app/views/clients/_header.html.erb b/app/views/clients/_header.html.erb new file mode 100644 index 000000000..63e863efc --- /dev/null +++ b/app/views/clients/_header.html.erb @@ -0,0 +1,41 @@ + + diff --git a/app/views/clients/_home.html.erb b/app/views/clients/_home.html.erb new file mode 100644 index 000000000..a3ce1c00e --- /dev/null +++ b/app/views/clients/_home.html.erb @@ -0,0 +1,26 @@ +
+ +
+
+

Create Session

+
+
+

Find Session

+
+
+

Bands

+
+
+

Recordings

+
+
+

Practice

+
+
+
diff --git a/app/views/clients/_landing.html.erb b/app/views/clients/_landing.html.erb new file mode 100644 index 000000000..dfc7d5c89 --- /dev/null +++ b/app/views/clients/_landing.html.erb @@ -0,0 +1,7 @@ + + diff --git a/app/views/clients/_notify.html.erb b/app/views/clients/_notify.html.erb new file mode 100644 index 000000000..ff1f98ca6 --- /dev/null +++ b/app/views/clients/_notify.html.erb @@ -0,0 +1,6 @@ +
+

Notification Popup

+ Close +

+
+
diff --git a/app/views/clients/_practice.html.erb b/app/views/clients/_practice.html.erb new file mode 100644 index 000000000..a605eeb4c --- /dev/null +++ b/app/views/clients/_practice.html.erb @@ -0,0 +1,6 @@ + +
+

Practice

+

TODO

+

Home

+
diff --git a/app/views/clients/_recordings.html.erb b/app/views/clients/_recordings.html.erb new file mode 100644 index 000000000..d15f65aad --- /dev/null +++ b/app/views/clients/_recordings.html.erb @@ -0,0 +1,6 @@ + +
+

Recordings

+

TODO

+

Home

+
diff --git a/app/views/clients/_session.html.erb b/app/views/clients/_session.html.erb new file mode 100644 index 000000000..a278155a6 --- /dev/null +++ b/app/views/clients/_session.html.erb @@ -0,0 +1,31 @@ + +
+ +
+
+
+
+
+ + + + + diff --git a/app/views/clients/_sidebar.html.erb b/app/views/clients/_sidebar.html.erb new file mode 100644 index 000000000..5c2253697 --- /dev/null +++ b/app/views/clients/_sidebar.html.erb @@ -0,0 +1,57 @@ + diff --git a/app/views/clients/index.html.erb b/app/views/clients/index.html.erb index a97287a30..3a86d3cd8 100644 --- a/app/views/clients/index.html.erb +++ b/app/views/clients/index.html.erb @@ -1,625 +1,59 @@ -
+
- - +<%= render "landing" %> +<%= render "footer" %> +<%= render "header" %> +<%= render "home" %> +<%= render "sidebar" %> +<%= render "createSession" %> +<%= render "session" %> +<%= render "findSession" %> +<%= render "practice" %> +<%= render "bands" %> +<%= render "recordings" %> +<%= render "account" %> +<%= render "notify" %> - + + <% if current_user %> + JK.currentUserId = '<%= current_user.id %>'; + <% else %> + JK.currentUserId = null; + <% end %> - + if (JK.currentUserId) { - + var jk = JK.JamKazam(); + jk.initialize(); -
- -
-

TODO Name

- <%= image_tag "down_arrow.png", :class=> "profile-toggle" %> - -
-
- -
- -
-
-

Create Session

-
-
-

Find Session

-
-
-

Bands

-
-
-

Recordings

-
-
-

Practice

-
-
-
+ var header = new JK.Header(jk); + header.initialize(); - + var findSessionScreen = new JK.FindSessionScreen(jk); + findSessionScreen.initialize(); - -
- -
-
-
- Unstyled and Lots of things omitted - -
-
Musician Access - - -
-
+ } else { + var landing = new JK.LandingPage(jk); + landing.initialize(); + } -
- - -
- -
- -
- -
- - -
- -
-
-
- -
-
- - - -
-
- -
-
- - - - - - - - - -
- -
-

Configure your instruments, headphones or speakers, and voice chat settings. Then play your instrument and sing or speak into your microphone, and ensure you hear everything correctly before entering the session.

-
- Audio Settings -
- Instrument 1 - - - - - - - -
-
-
- Headphone/Speaker Settings - - - -
-
- Voice Chat Settings - - - -
- -
-
- - -
- -
-
-
-
-
- - - - - - - - -
-

Find a Session

-

Home

- - - - - - - - -
MembersNameDelete
-
- - - - - -
-

Practice

-

TODO

-

Home

-
- - -
-

Bands

-

TODO

-

Home

-
- - -
-

Recordings

-

TODO

-

Home

-
- - -
-

Account Settings

-
-

Identity

-
- Update -
-
-

Profile

-
- Update -
-
- Close -
-
- - - - -
-
-
- Identity -
- -
-
- -

Leave blank to leave unchanged

-
-
- -
-
- - -
-
-
-
- - -
-
-
- Profile -
- -
-
- -
-
-
-
- -

Limit of 5

-
-
-
- - -
-
-
-
- - - -
-

Notification Popup

- Close -

-
-
- - + }) + diff --git a/spec/javascripts/createSession.spec.js b/spec/javascripts/createSession.spec.js index 792f69e69..0185fb587 100644 --- a/spec/javascripts/createSession.spec.js +++ b/spec/javascripts/createSession.spec.js @@ -11,17 +11,24 @@ ajaxError: function() { console.debug("ajaxError"); } }; + var selectors = { + genres: '#create-session-form select[name="genres"]', + description: '#create-session-form textarea[name="description"]' + }; + beforeEach(function() { - loadFixtures('createSession.htm'); + // Use the actual screen markup + jasmine.getFixtures().fixturesPath = '/app/views/clients'; + loadFixtures('_createSession.html.erb'); spyOn(appFake, 'notify'); css = new context.JK.CreateSessionScreen(appFake); }); describe("resetForm", function() { it("description should be empty", function() { - $('#create-session-form textarea[name="description"]').val('XYZ'); + $(selectors.description).val('XYZ'); css.resetForm(); - expect($('#create-session-form textarea[name="description"]').val()).toEqual(''); + expect($(selectors.description).val()).toEqual(''); }); }); @@ -33,11 +40,22 @@ }); it("should populate genres select", function() { css.loadGenres(); - expect($('#create-session-form select[name="genres"] option').length).toEqual(2); + expect($(selectors.genres + ' option').length).toEqual(2); }); }); describe("validateForm", function() { + + function makeValid() { + var genre = ''; + $(selectors.genres).html(genre); + $(selectors.description).val('XYZ'); + } + + beforeEach(function() { + makeValid(); + }); + it("valid form", function() { var errs = css.validateForm(); expect(errs).toBeNull(); @@ -48,7 +66,7 @@ '' + '' + ''; - $('#create-session-form select[name="genres"]').html(htm); + $(selectors.genres).html(htm); var errs = css.validateForm(); // Verify that we have an error. expect(errs).toBeTruthy(); @@ -59,7 +77,7 @@ }); it("should fail with 0 genres", function() { - $('#create-session-form select[name="genres"]').html(''); + $(selectors.genres).html(''); var errs = css.validateForm(); // Verify that we have an error. expect(errs).toBeTruthy(); @@ -68,7 +86,7 @@ }); it("should fail with empty description", function() { - $('#create-session-form textarea[name="description"]').html(''); + $(selectors.description).val(''); var errs = css.validateForm(); // Verify that we have an error. expect(errs).toBeTruthy(); diff --git a/spec/javascripts/fixtures/createSession.htm b/spec/javascripts/fixtures/createSession.htm deleted file mode 100644 index 6b4570ae0..000000000 --- a/spec/javascripts/fixtures/createSession.htm +++ /dev/null @@ -1,11 +0,0 @@ -
- - - -
- - diff --git a/spec/javascripts/formToObject.spec.js b/spec/javascripts/formToObject.spec.js index 80cd06f93..960f01c9f 100644 --- a/spec/javascripts/formToObject.spec.js +++ b/spec/javascripts/formToObject.spec.js @@ -2,6 +2,10 @@ describe("jquery.formToObject tests", function() { + beforeEach(function() { + jasmine.getFixtures().fixturesPath = '/spec/javascripts/fixtures'; + }); + describe("Top level", function() { describe("text input named foo, val bar", function() { diff --git a/spec/javascripts/jamkazam.spec.js b/spec/javascripts/jamkazam.spec.js index 44a2cf690..634be915a 100644 --- a/spec/javascripts/jamkazam.spec.js +++ b/spec/javascripts/jamkazam.spec.js @@ -4,6 +4,7 @@ var jamkazam; beforeEach(function() { + jasmine.getFixtures().fixturesPath = '/spec/javascripts/fixtures'; jamkazam = new context.JK.JamKazam(); }); @@ -48,4 +49,4 @@ }); -}(window, jQuery)); +}(window, jQuery)); \ No newline at end of file diff --git a/spec/javascripts/layout.spec.js b/spec/javascripts/layout.spec.js index de7f3baea..fca645064 100644 --- a/spec/javascripts/layout.spec.js +++ b/spec/javascripts/layout.spec.js @@ -4,6 +4,7 @@ var layout, cardLayout, testOpts; beforeEach(function() { + jasmine.getFixtures().fixturesPath = '/spec/javascripts/fixtures'; layout = new context.JK.Layout(); }); diff --git a/spec/javascripts/searcher.spec.js b/spec/javascripts/searcher.spec.js index 067a8b8df..66cf1782c 100644 --- a/spec/javascripts/searcher.spec.js +++ b/spec/javascripts/searcher.spec.js @@ -2,6 +2,10 @@ describe("searcher.js tests", function() { + beforeEach(function() { + jasmine.getFixtures().fixturesPath = '/spec/javascripts/fixtures'; + }); + describe("Empty Search", function() { // See the markup in fixtures/searcher.htm