2
0

QuickStartWidgetSpec.js 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. describe("QuickStartWidget", function () {
  2. describe("rendering", function () {
  3. beforeEach(function () {
  4. var project = new Spring.Project({
  5. "id": "spring-data-jpa",
  6. "name": "Spring Data JPA",
  7. "repoUrl": "https://github.com/SpringSource/spring-data-jpa",
  8. "siteUrl": "https://projects.spring.io/spring-data-jpa",
  9. "projectReleases": [
  10. {
  11. "refDocUrl": "https://docs.spring.io/spring-data/jpa/docs/1.4.0.RC1/reference/html/",
  12. "apiDocUrl": "https://docs.spring.io/spring-data/jpa/docs/1.4.0.RC1/api/",
  13. "groupId": "org.springframework.data",
  14. "artifactId": "spring-data-jpa",
  15. "repository": {
  16. "id": "spring-milestones",
  17. "name": "Spring Milestones",
  18. "url": "https://repo.spring.io/milestone",
  19. "snapshotsEnabled": false
  20. },
  21. "version": "1.4.0.RC1",
  22. "current": false,
  23. "preRelease": true,
  24. "snapshot": false,
  25. "generalAvailability": false,
  26. "versionDisplayName": "1.4.0.RC1"
  27. },
  28. {
  29. "refDocUrl": "https://docs.spring.io/spring-data/jpa/docs/1.3.4.RELEASE/reference/html/",
  30. "apiDocUrl": "https://docs.spring.io/spring-data/jpa/docs/1.3.4.RELEASE/api/",
  31. "groupId": "org.springframework.data",
  32. "artifactId": "spring-data-jpa",
  33. "repository": null,
  34. "version": "1.3.4.RELEASE",
  35. "current": true,
  36. "preRelease": false,
  37. "snapshot": false,
  38. "generalAvailability": true,
  39. "versionDisplayName": "1.3.4"
  40. }
  41. ]
  42. });
  43. $('#jasmine_content').append("<div id='quick_select_widget'></div> ");
  44. $('#jasmine_content').append("<div id='maven_widget'></div> ");
  45. Spring.buildQuickStartWidget("#quick_select_widget", "#maven_widget", project);
  46. });
  47. it("lists out each release's version", function () {
  48. expect($('#quick_select_widget')).toContainText("1.4.0.RC1");
  49. expect($('#quick_select_widget')).toContainText("1.3.4");
  50. });
  51. describe("maven view", function() {
  52. it("shows the current release dependency by default", function() {
  53. expect($('#maven_widget')).toContainText("org.springframework.data");
  54. expect($('#maven_widget')).toContainText("spring-data-jpa");
  55. expect($('#maven_widget')).toContainText("1.3.4.RELEASE");
  56. });
  57. it("shows the correct dependency when users select a different release", function() {
  58. $('#jasmine_content select').val(0).change();
  59. expect($('#maven_widget')).toContainText("org.springframework.data");
  60. expect($('#maven_widget')).toContainText("spring-data-jpa");
  61. expect($('#maven_widget')).toContainText("1.4.0.RC1");
  62. });
  63. it("shows the repository information if user selects a release with a repository", function() {
  64. $('#jasmine_content select').val(0).change();
  65. expect($('#maven_widget')).toContainText("spring-milestones");
  66. expect($('#maven_widget')).toContainText("Spring Milestones");
  67. expect($('#maven_widget')).toContainText("https://repo.spring.io/milestone");
  68. expect($('#maven_widget')).toContainText("false");
  69. });
  70. it("doesn't show the repository if the user selects a release without a repository", function (){
  71. $('#jasmine_content select').val(1).change();
  72. expect($('#maven_widget')).not.toContainText("repository");
  73. expect($('#maven_widget')).not.toContainText("spring-milestones");
  74. expect($('#maven_widget')).not.toContainText("Spring Milestones");
  75. expect($('#maven_widget')).not.toContainText("https://repo.spring.io/milestone");
  76. expect($('#maven_widget')).not.toContainText("false");
  77. });
  78. });
  79. describe("gradle view", function() {
  80. beforeEach(function() {
  81. $("#quick_select_widget [data-snippet-type=gradle]").click();
  82. });
  83. it("shows the current release dependency by default", function() {
  84. expect($('#maven_widget')).toContainText("dependencies");
  85. expect($('#maven_widget')).toContainText("org.springframework.data:spring-data-jpa:1.3.4.RELEASE");
  86. });
  87. it("shows the repository if the data has one", function() {
  88. $('#jasmine_content select').val(0).change();
  89. expect($('#maven_widget')).toContainText("repositories");
  90. expect($('#maven_widget')).toContainText("https://repo.spring.io/milestone");
  91. });
  92. });
  93. });
  94. });