def test_merge_non_calc_attrs_should_copy_some_attrs(self):
        s1 = Sheet()
        s1.name = 's1'
        s1.column_widths = {'s1': 0}
        s1.contents_json = sentinel.sheet1
        s2 = Sheet()
        s2.name = 's2'
        s2.column_widths = {'s2': 0}
        s2.contents_json = sentinel.sheet2

        s1.merge_non_calc_attrs(s2)

        self.assertEquals(s1.name, 's2')
        self.assertEquals(s1.column_widths, {'s2': 0})
        self.assertEquals(s1.contents_json, sentinel.sheet1)
    def test_merge_non_calc_attrs_should_copy_some_attrs(self):
        s1 = Sheet()
        s1.name = 's1'
        s1.column_widths = {'s1': 0}
        s1.contents_json = sentinel.sheet1
        s2 = Sheet()
        s2.name = 's2'
        s2.column_widths = {'s2': 0}
        s2.contents_json = sentinel.sheet2

        s1.merge_non_calc_attrs(s2)

        self.assertEquals(s1.name, 's2')
        self.assertEquals(s1.column_widths, {'s2': 0})
        self.assertEquals(s1.contents_json, sentinel.sheet1)
 def test_to_ui_json_meta_data_includes_columns_widths(self):
     sheet = Sheet(width=10, height=5)
     sheet.column_widths = {u'1': 1, u'2': 22, u'3': 333}
     expected = dict(
         width=sheet.width,
         height=sheet.height,
         name='Untitled',
         column_widths=sheet.column_widths,
     )
     self.assertEquals(json.loads(sheet_to_ui_json_meta_data(sheet, Worksheet())), expected)
 def test_to_ui_json_meta_data_includes_columns_widths(self):
     sheet = Sheet(width=10, height=5)
     sheet.column_widths = {u'1': 1, u'2': 22, u'3': 333}
     expected = dict(
         width=sheet.width,
         height=sheet.height,
         name='Untitled',
         column_widths=sheet.column_widths,
     )
     self.assertEquals(
         json.loads(sheet_to_ui_json_meta_data(sheet, Worksheet())),
         expected)
    def test_roundtrip_column_widths_to_db(self, mock_jsonlib):
        COLUMN_WIDTHS = {'1': 11, '2': 22, '3': 33}
        mock_jsonlib.loads.return_value = COLUMN_WIDTHS
        mock_jsonlib.dumps.return_value = sentinel.json
        user = User(username='******')
        user.save()
        sheet = Sheet(owner=user)
        DEFAULT_COLUMN_WIDTHS_JSON = '{}'
        self.assertEquals(mock_jsonlib.loads.call_args,
                          ((DEFAULT_COLUMN_WIDTHS_JSON, ), {}))
        sheet.column_widths = COLUMN_WIDTHS

        sheet.save()
        self.assertEqual(mock_jsonlib.dumps.call_args, ((COLUMN_WIDTHS, ), {}))
        pk = sheet.id

        sheet2 = Sheet.objects.get(pk=pk)
        self.assertEquals(sheet2.column_widths, COLUMN_WIDTHS)
    def test_roundtrip_column_widths_to_db(self, mock_jsonlib):
        COLUMN_WIDTHS = {'1': 11, '2': 22, '3': 33}
        mock_jsonlib.loads.return_value = COLUMN_WIDTHS
        mock_jsonlib.dumps.return_value = sentinel.json
        user = User(username='******')
        user.save()
        sheet = Sheet(owner=user)
        DEFAULT_COLUMN_WIDTHS_JSON = '{}'
        self.assertEquals(
            mock_jsonlib.loads.call_args,
            ((DEFAULT_COLUMN_WIDTHS_JSON,), {})
        )
        sheet.column_widths = COLUMN_WIDTHS

        sheet.save()
        self.assertEqual(
            mock_jsonlib.dumps.call_args,
            ((COLUMN_WIDTHS,), {})
        )
        pk = sheet.id

        sheet2 = Sheet.objects.get(pk=pk)
        self.assertEquals(sheet2.column_widths, COLUMN_WIDTHS)