aboutsummaryrefslogtreecommitdiffstats
path: root/spec/integration/admin_public_body_edit_spec.rb
blob: aeec3e65aa99eaa4e596ce22e8f76a1fc7c2b6eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
require File.expand_path(File.dirname(__FILE__) + '/alaveteli_dsl')

describe 'Editing a Public Body' do
    before do
        AlaveteliConfiguration.stub!(:skip_admin_auth).and_return(false)

        confirm(:admin_user)
        @admin = login(:admin_user)

        PublicBody.create(:name => 'New Quango',
                          :short_name => '',
                          :request_email => 'newquango@localhost',
                          :last_edit_editor => 'test',
                          :last_edit_comment => 'testing')

        @body = PublicBody.find_by_name('New Quango')
    end

    it 'can edit the default locale' do
        @admin.visit edit_admin_body_path(@body)
        @admin.fill_in 'public_body_name__en', :with => 'New Quango EN'
        @admin.click_button 'Save'

        pb = @body.reload
        expect(pb.name).to eq('New Quango EN')
    end

    it 'can add a translation for a single locale' do
        expect(@body.find_translation_by_locale('fr')).to be_nil

        @admin.visit edit_admin_body_path(@body)
        @admin.fill_in 'public_body_translations_attributes_fr_name__fr', :with => 'New Quango FR'
        @admin.click_button 'Save'

        pb = @body.reload
        I18n.with_locale(:fr) do
            expect(pb.name).to eq('New Quango FR')
        end
    end

    it 'can add a translation for multiple locales', :focus => true do
        @admin.visit edit_admin_body_path(@body)
        @admin.fill_in 'public_body_name__en', :with => 'New Quango EN'
        @admin.click_button 'Save'

        # Add FR translation
        expect(@body.find_translation_by_locale('fr')).to be_nil
        @admin.visit edit_admin_body_path(@body)
        @admin.fill_in 'public_body_translations_attributes_fr_name__fr', :with => 'New Quango FR'
        @admin.click_button 'Save'

        # Add ES translation
        expect(@body.find_translation_by_locale('es')).to be_nil
        @admin.visit edit_admin_body_path(@body)
        @admin.fill_in 'public_body_translations_attributes_es_name__es', :with => 'New Quango ES'
        @admin.click_button 'Save'

        pb = @body.reload
 
        expect(pb.name).to eq('New Quango EN')

        I18n.with_locale(:fr) do
            expect(pb.name).to eq('New Quango FR')
        end

        I18n.with_locale(:es) do
            expect(pb.name).to eq('New Quango ES')
        end
    end
end