|
375 | 375 | end
|
376 | 376 |
|
377 | 377 | describe "extra groups" do
|
378 |
| - let!(:extra_group) { Fabricate(:group, name: "illuminati") } |
| 378 | + let!(:extra_groups) do |
| 379 | + [ |
| 380 | + Fabricate(:group, name: "bananas", created_at: 1.day.ago), |
| 381 | + Fabricate(:group, name: "apples", created_at: 3.days.ago), |
| 382 | + Fabricate(:group, name: "oranges", created_at: 2.days.ago), |
| 383 | + ] |
| 384 | + end |
| 385 | + let(:order) { "alphabetically" } |
379 | 386 |
|
380 | 387 | before do
|
381 | 388 | SiteSetting.about_banner_image = nil
|
382 | 389 | SiteSetting.show_additional_about_groups = true
|
383 | 390 | SiteSetting.about_page_extra_groups = extra_groups_setting
|
| 391 | + SiteSetting.about_page_extra_groups_order = order |
384 | 392 |
|
385 |
| - extra_group.users << Fabricate(:user) |
| 393 | + extra_groups.each { |extra_group| extra_group.users << Fabricate(:user) } |
386 | 394 | end
|
387 | 395 |
|
388 | 396 | context "when extra groups are configured" do
|
389 |
| - let(:extra_groups_setting) { extra_group.id.to_s } |
| 397 | + let(:extra_groups_setting) { extra_groups.map(&:id).join("|") } |
390 | 398 |
|
391 |
| - it "shows the extra groups" do |
392 |
| - sign_in(admin) |
| 399 | + context "when groups are set to order alphabetically" do |
| 400 | + let(:order) { "alphabetically" } |
393 | 401 |
|
394 |
| - about_page.visit |
| 402 | + it "shows the extra groups in alphabetical order" do |
| 403 | + sign_in(admin) |
| 404 | + |
| 405 | + about_page.visit |
| 406 | + |
| 407 | + expect(about_page).to have_css(".about__apples + .about__bananas + .about__oranges") |
| 408 | + end |
| 409 | + end |
| 410 | + |
| 411 | + context "when groups are set to order by creation" do |
| 412 | + let(:order) { "order of creation" } |
| 413 | + |
| 414 | + it "shows the extra groups in order of creation" do |
| 415 | + sign_in(admin) |
395 | 416 |
|
396 |
| - expect(about_page).to have_group_with_name("Illuminati") |
| 417 | + about_page.visit |
| 418 | + |
| 419 | + expect(about_page).to have_css(".about__bananas + .about__apples + .about__oranges") |
| 420 | + end |
| 421 | + end |
| 422 | + |
| 423 | + context "when groups are set to order by setting selection" do |
| 424 | + let(:order) { "order of theme setting" } |
| 425 | + |
| 426 | + it "shows the extra groups in order of selection" do |
| 427 | + sign_in(admin) |
| 428 | + |
| 429 | + about_page.visit |
| 430 | + |
| 431 | + expect(about_page).to have_css(".about__bananas + .about__apples + .about__oranges") |
| 432 | + end |
397 | 433 | end
|
398 | 434 | end
|
399 | 435 |
|
|
0 commit comments