Code Duplication    Length = 16-17 lines in 2 locations

memegen/test/test_domain_template.py 2 locations

@@ 52-68 (lines=17) @@
49
        def it_handles_bad_urls(template):
50
            expect(template.get_path("http://invalid")) == None
51
52
    def describe_path():
53
54
        def is_returned_when_file_exists(template):
55
            template.root = "my_root"
56
57
            with patch('pathlib.Path.is_file', Mock(return_value=True)):
58
                path = template.path
59
60
            expect(path) == Path("my_root/abc/default.png")
61
62
        def is_none_when_no_file(template):
63
            template.root = "my_root"
64
65
            with patch('pathlib.Path.is_file', Mock(return_value=False)):
66
                path = template.path
67
68
            expect(path) == None
69
70
    def describe_default_path():
71
@@ 125-140 (lines=16) @@
122
123
            expect(template.validate_meta()) == False
124
125
    def describe_validate_link():
126
127
        def with_bad_link(template):
128
            mock_response = Mock()
129
            mock_response.status_code = 404
130
131
            with patch('requests.get', Mock(return_value=mock_response)):
132
                template.link = "example.com/fake"
133
134
                expect(template.validate_link()) == False
135
136
        @patch('pathlib.Path.is_file', Mock(return_value=True))
137
        def with_cached_valid_link(template):
138
            template.link = "already_cached_site.com"
139
140
            expect(template.validate_link()) == True
141
142
    def describe_validate_size():
143