Merge lp:~ahayzen/ubuntu-ui-extras/printer-components-fix-empty-commented-tests into lp:~phablet-team/ubuntu-ui-extras/printer-components

Proposed by Andrew Hayzen
Status: Merged
Approved by: Jonas G. Drange
Approved revision: 130
Merged at revision: 131
Proposed branch: lp:~ahayzen/ubuntu-ui-extras/printer-components-fix-empty-commented-tests
Merge into: lp:~phablet-team/ubuntu-ui-extras/printer-components
Diff against target: 235 lines (+143/-44)
3 files modified
tests/unittests/Printers/mockbackend.h (+16/-3)
tests/unittests/Printers/tst_printerfilter.cpp (+46/-37)
tests/unittests/Printers/tst_printers.cpp (+81/-4)
To merge this branch: bzr merge lp:~ahayzen/ubuntu-ui-extras/printer-components-fix-empty-commented-tests
Reviewer Review Type Date Requested Status
Jonas G. Drange (community) Approve
Review via email: mp+318108@code.launchpad.net

Commit message

* Fix/add commented or empty tests

Description of the change

* Fix/add commented or empty tests

To post a comment you must log in.
131. By Andrew Hayzen

* Remove Q_UNUSED on parameters that are now used :-)

Revision history for this message
Jonas G. Drange (jonas-drange) wrote :

That's great stuff, Andrew. Thanks :)

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'tests/unittests/Printers/mockbackend.h'
2--- tests/unittests/Printers/mockbackend.h 2017-02-23 10:20:08 +0000
3+++ tests/unittests/Printers/mockbackend.h 2017-02-23 13:37:42 +0000
4@@ -84,7 +84,7 @@
5
6 virtual QString printerSetDefault(const QString &name) override
7 {
8- Q_UNUSED(name);
9+ m_defaultPrinterName = name;
10 return returnValue;
11 }
12
13@@ -221,8 +221,21 @@
14
15 virtual void cancelJob(const QString &name, const int jobId) override
16 {
17- Q_UNUSED(name);
18- Q_UNUSED(jobId);
19+ QList<int> toRemove;
20+
21+ for (int i=0; i < m_jobs.count(); i++) {
22+ QSharedPointer<PrinterJob> job = m_jobs[i];
23+
24+ if (job->printerName() == name && job->jobId() == jobId) {
25+ toRemove << i;
26+ }
27+ }
28+
29+ for (int i=0; i < toRemove.count(); i++) {
30+ QSharedPointer<PrinterJob> job = m_jobs.takeAt(toRemove[i] - i);
31+
32+ Q_EMIT jobCompleted(job->title(), "", job->printerName(), 1, "", true, job->jobId(), 1, "", "", 1);
33+ }
34 }
35
36 virtual int printFileToDest(const QString &filepath,
37
38=== modified file 'tests/unittests/Printers/tst_printerfilter.cpp'
39--- tests/unittests/Printers/tst_printerfilter.cpp 2017-02-21 10:46:29 +0000
40+++ tests/unittests/Printers/tst_printerfilter.cpp 2017-02-23 13:37:42 +0000
41@@ -73,43 +73,52 @@
42 QCOMPARE(modelCountSpy.count(), 1);
43 QCOMPARE(filterCountSpy.count(), 1);
44 }
45- // void testMoveOnPrintersLoaded()
46- // {
47- // // Setup two printers
48- // PrinterBackend* printerABackend = new MockPrinterBackend("a-printer");
49- // auto printerA = QSharedPointer<Printer>(new Printer(printerABackend));
50- // PrinterBackend* printerBBackend = new MockPrinterBackend("b-printer");
51- // auto printerB = QSharedPointer<Printer>(new Printer(printerBBackend));
52-
53- // getBackend()->m_availablePrinterNames << printerA->name() << printerB->name();
54-
55- // getBackend()->mockPrinterLoaded(printerA);
56- // getBackend()->mockPrinterLoaded(printerB);
57-
58- // QCOMPARE(m_model->count(), 2);
59-
60- // // Setup spy and move a printer
61- // int from = 1;
62- // int to = 0;
63- // qWarning() << "before move" << getBackend()->m_availablePrinterNames;
64- // getBackend()->m_availablePrinterNames.move(from, to);
65- // qWarning() << "after move" << getBackend()->m_availablePrinterNames;
66-
67- // // Check signals were fired
68- // QSignalSpy moveSpy(m_model, SIGNAL(rowsMoved(const QModelIndex&, int, int, const QModelIndex&, int)));
69-
70- // // If a printer is re-named, we would expect a move signal.
71- // getBackend()->mockPrinterModified("Test renamed printer", "", printerB->name(), 0, "", true);
72-
73- // QCOMPARE(moveSpy.count(), 1);
74- // QCOMPARE(m_model->count(), 2);
75-
76- // // Check item was moved from -> to
77- // QList<QVariant> args = moveSpy.at(0);
78- // QCOMPARE(args.at(1).toInt(), from);
79- // QCOMPARE(args.at(2).toInt(), from);
80- // QCOMPARE(args.at(4).toInt(), to);
81- // }
82+ void testMoveOnPrintersLoaded()
83+ {
84+ QScopedPointer<PrinterBackend> backend(new MockPrinterBackend);
85+ PrinterModel *model = new PrinterModel(backend.data());
86+
87+ // Setup two printers
88+ PrinterBackend* printerCBackend = new MockPrinterBackend("c-printer");
89+ auto printerC = QSharedPointer<Printer>(new Printer(printerCBackend));
90+ PrinterBackend* printerDBackend = new MockPrinterBackend("d-printer");
91+ auto printerD = QSharedPointer<Printer>(new Printer(printerDBackend));
92+
93+ // Setup a filter
94+ PrinterFilter *filter = new PrinterFilter();
95+ filter->setSourceModel(model);
96+ filter->setSortRole(PrinterModel::Roles::DefaultPrinterRole);
97+ filter->sort(0, Qt::DescendingOrder);
98+
99+ // Load the two printers
100+ ((MockPrinterBackend*) backend.data())->mockPrinterLoaded(printerC);
101+ ((MockPrinterBackend*) backend.data())->mockPrinterLoaded(printerD);
102+
103+ QCOMPARE(filter->count(), 3);
104+
105+ // Check the printer names before change
106+ QCOMPARE(filter->get(0).value("name").toString(), QStringLiteral("c-printer"));
107+ QCOMPARE(filter->get(1).value("name").toString(), QStringLiteral("d-printer"));
108+ QCOMPARE(filter->get(2).value("name").toString(), QStringLiteral("Create PDF"));
109+
110+ // Setup spy
111+ QSignalSpy dataSpy(filter, SIGNAL(dataChanged(const QModelIndex&, const QModelIndex&, const QVector<int>&)));
112+
113+ // Change the name of the 2nd printer so it is 1st
114+ printerDBackend->setPrinterNameInternal("a-printer");
115+
116+ QModelIndex idx = model->index(1);
117+ model->dataChanged(idx, idx);
118+
119+ QTRY_COMPARE(dataSpy.count(), 1);
120+
121+ // Check the printer names after change
122+ QCOMPARE(filter->get(0).value("name").toString(), QStringLiteral("a-printer"));
123+ QCOMPARE(filter->get(1).value("name").toString(), QStringLiteral("c-printer"));
124+ QCOMPARE(filter->get(2).value("name").toString(), QStringLiteral("Create PDF"));
125+
126+ delete model;
127+ }
128 };
129
130 QTEST_GUILESS_MAIN(TestPrinterFilter)
131
132=== modified file 'tests/unittests/Printers/tst_printers.cpp'
133--- tests/unittests/Printers/tst_printers.cpp 2017-02-21 10:46:29 +0000
134+++ tests/unittests/Printers/tst_printers.cpp 2017-02-23 13:37:42 +0000
135@@ -96,19 +96,96 @@
136 }
137 void testCreateJob()
138 {
139-
140+ // Setup the backend with a printer
141+ const QString printerName = QStringLiteral("test-printer");
142+
143+ MockPrinterBackend *backend = new MockPrinterBackend;
144+ Printers p(backend);
145+
146+ MockPrinterBackend *printerBackend = new MockPrinterBackend(printerName);
147+ auto printer = QSharedPointer<Printer>(new Printer(printerBackend));
148+ backend->mockPrinterLoaded(printer);
149+
150+ // Create a job
151+ PrinterJob *job = p.createJob(printerName);
152+
153+ // Check it has a printerName
154+ QCOMPARE(job->printerName(), printerName);
155 }
156 void testCancelJob()
157 {
158-
159+ MockPrinterBackend *backend = new MockPrinterBackend;
160+ JobModel *model = new JobModel(backend);
161+ Printers p(backend);
162+
163+ // Add one.
164+ QSharedPointer<PrinterJob> job = QSharedPointer<PrinterJob>(new PrinterJob("test-printer", backend));
165+ backend->m_jobs << job;
166+ backend->mockJobCreated("", "", "", 1, "", true, 100, 1, "", "", 1);
167+
168+ // Check it was added
169+ QCOMPARE(model->count(), 1);
170+
171+ // Setup the spy
172+ QSignalSpy removeSpy(model, SIGNAL(rowsRemoved(const QModelIndex&, int, int)));
173+
174+ // Cancel the job
175+ p.cancelJob(job->printerName(), job->jobId());
176+
177+ // Check item was removed
178+ QTRY_COMPARE(removeSpy.count(), 1);
179+
180+ QList<QVariant> args = removeSpy.at(0);
181+ QCOMPARE(args.at(1).toInt(), 0);
182+ QCOMPARE(args.at(2).toInt(), 0);
183 }
184 void testPrinterRemove()
185 {
186- // TODO
187+ // Load the backend with a printer
188+ const QString printerName = QStringLiteral("test-printer");
189+
190+ MockPrinterBackend *backend = new MockPrinterBackend;
191+
192+ MockPrinterBackend *printerBackend = new MockPrinterBackend(printerName);
193+ auto printer = QSharedPointer<Printer>(new Printer(printerBackend));
194+
195+ backend->m_availablePrinterNames << printerName;
196+ backend->m_availablePrinters << printer;
197+
198+ Printers printers(backend);
199+ auto all = printers.allPrinters();
200+
201+ // Check the initial printer count
202+ QCOMPARE(all->rowCount(), 1);
203+
204+ // Setup a spy
205+ QSignalSpy removeSpy(all, SIGNAL(rowsRemoved(const QModelIndex&, int, int)));
206+
207+ // Remove the item
208+ printers.removePrinter(printerName);
209+ backend->mockPrinterDeleted("", "", printerName, 1, "", true);
210+
211+ // Check item was removed
212+ QTRY_COMPARE(removeSpy.count(), 1);
213+
214+ QList<QVariant> args = removeSpy.at(0);
215+ QCOMPARE(args.at(1).toInt(), 0);
216+ QCOMPARE(args.at(2).toInt(), 0);
217+
218+ QCOMPARE(all->rowCount(), 0);
219 }
220 void testSetDefault()
221 {
222-
223+ const QString defaultPrinterName = QStringLiteral("my-default-printer");
224+
225+ MockPrinterBackend *backend = new MockPrinterBackend;
226+ Printers p(backend);
227+
228+ QCOMPARE(p.defaultPrinterName(), QString());
229+
230+ p.setDefaultPrinterName(defaultPrinterName);
231+
232+ QCOMPARE(p.defaultPrinterName(), defaultPrinterName);
233 }
234 /* Test that Printers successfully assigns printers to jobs whenever
235 they appear, as well as assigning job proxies to printers whenever they

Subscribers

People subscribed via source and target branches